У меня есть следующее, которое отлично работает.
elseif( get_post_type($post->ID) == 'press' ){the_title_attribute();}
Однако мне нужно, чтобы вышеупомянутый заголовок был обернут тегом h2.
Пробовал это, но он просто ставит h2 после заголовка…
elseif( get_post_type($post->ID) == 'press' ){echo'<h2>'. the_title_attribute() .'</h2>';}
Есть идеи?
Большое спасибо за любую помощь 🙂
Из любопытства: почему вы используете
the_title_attribute()
вместоthe_title()
?Чтобы уточнить мой комментарий выше:
the_title_attribute()
предназначен для вывода заголовка, специально отформатированного для использования вtitle
атрибуте тега привязки; с другой стороны,the_title()
предназначен для общего вывода Заголовка. Для вашего варианта использования вы можете специально использоватьget_the_title()
, который возвращает, а не эхо, строку.имеет параметр для установки эха в false, как с
the_title_attribute
……конечно, но это также то
get_the_title()
, для чего он предназначен. 🙂Или вы можете установить
echo
forfalse
,the_title_attribute()
например:the_title_attribute( '', '', false )
, что позволит отображать всю объединенную конструкцию.Я не проверял документы… но да, вы также можете это сделать.. 🙂 Я ошибочно предположил, что у него нет поддержки (без проверки)..
Тег
the_title_attribute()
шаблона предназначен специальноtitle
для вывода заголовка, отформатированного для использования в атрибуте тега привязки. Тегиthe_title()
иget_the_title()
шаблоны предназначены для общей печати/отображения Заголовка.Я бы рекомендовал использовать
get_the_title()
, а неthe_title_attribute()
. А именно:Я считаю, что это было бы более семантически правильным.
Функция
the_title_attribute
уже выводит эхо, поэтому вы не можете выводить ее значение, попробуйте вместо этого.Или как вариант..
Или поочередно: