the_title() — выводит заголовок текущего поста

Функция выводит или возвращает (зависит от значения аргументов) заголовок текущего поста (записи, страницы и т.д.). Можно использовать только в цикле.

В зависимости от настроек поста может также добавлять перед заголовком «Защищено: » или «Личное: ».

the_title($before = '', $after = '', $echo = true)
$before
(строка) текст или HTML, который нужно добавить перед возвращаемым/выводимым значением
$after
(строка) текст или HTML-код, добавляемый в конце
$echo
(логическое) если false — возвращает заголовок, если true (по умолчанию), то выводит

Для того, чтобы получить значение заголовка конкретного поста (по заданному ID), используйте функцию get_the_title().

Пример

the_title('<h1>','</h1>');

Комментарии 7

  • Андрей11 ноября 2014 в 20:11 #

    Здравствуйте!
    У меня заголовки поста состоят из нескольких слов. Чтобы не пострадала целостность дизайна нужен принудительный перенос после 1 слова. В HTML это можно было сделать с помощью тега br, приписав его после первого слова. Но как быть, если используется функция the title? Как добавить счетчик первого слова в эту функцию? Или как выделить первое слова, например, в отдельный span?
    Не хотелось бы для достижения цели удалять цикл и прописывать чистый код.

    • Миша12 ноября 2014 в 07:11 #

      Доброго времени суток!
      Используйте функцию php explode() :)

    • Миша12 ноября 2014 в 07:11 #

      Например при помощи get_the_title():

      $words = explode(" ", get_the_title()); // массив слов заголовка
      • Андрей12 ноября 2014 в 20:11 #

        Спасибо за ответ.
        Я изучаю php вместе с WP, т.е пытаюсь делать свой первый сайт полностью самостоятельно. Но хотелось бы делать все правильно и чуть что не прятаться за простоту HTML.
        Если я все правильно понял, будет что-то в этом роде (у меня + счетчик самих постов и list для удобства восприятия):

        <?php
                     $uslugi = new WP_Query( array
                                 ('post_parent' => 36,
                                  'post_type' => 'page',
                                  'posts_per_page'=> 4 )    
                                  );
                     $postCount = 0; // включаем счетчик постов            
                     while ( $uslugi->have_posts() ) :
                     $uslugi->the_post();
                     $postCount++ ; ?> 
                     <div class="column one-fourth<?php if ($postCount == 1 ) echo ' first ';?>">          
                      <?php list($word1,$otherwords) = explode(" ",get_the_title(),2);  //разбили заголовок
                        echo $word1,'<br/>',$otherwords;// выводим заголовок по частям с переносом
                      if ( has_post_thumbnail()): ?>
                      <div class="entry-thumbnail"><?php the_post_thumbnail('mini-thumb'); ?></div>
                      <?php endif;              
                      the_excerpt();
                      ?>
                     </div>
                     <?php endwhile;
         
        wp_reset_postdata();
        ?>

        Данный код вроде работает, выводит так как мне и нужно. Но заголовок, конечно, перестал быть ссылкой и я никак не соображу куда эту ссылку добавить в коде. Или при принудительном разбиении заголовка он уже и не может быть ссылкой?

        • Миша12 ноября 2014 в 23:11 #

          Чтобы заголовок стал ссылкой, поместите его вовнутрь тега

          <a href="<?php the_permalink() ?>"></a>
          • Андрей13 ноября 2014 в 11:11 #

            В этом моменте я никак и не соображу. Если обернуть весь вывод заголовка:

                         <h1 class="entry-title"><a href="<?php the_permalink() ?>">               
                          <?php list($word1,$otherwords) = explode(" ",get_the_title(),2);?>
                            <?php echo $word1,'<br/>',$otherwords;?></a></h1>

            то получается, что ссылкой становится только первое слово. Второе вообще Исчезает.
            Тоже самое происходит, если обернуть только сам вывод (echo). Вторая часть заголовка тоже исчезает. Видимо, я неправильно оборачиваю.

            • Андрей13 ноября 2014 в 11:11 #

              Нет-нет. Обертка работает. Второе слово не исчезает, а сползает на контент. Сразу не заметил, у заголовка и нижнего фона цвет почти один и тот же.
              А это уже проблема CSS, а не PHP.

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...