получить содержимое сообщения в заголовок

мне нужно поместить содержимое поста в тег <head>. Я пытался использовать этот код в файле header.php моей темы:

if(is_single()){
$stringa = the_content();
}

но это не работает.

Как я могу сделать? Благодарность


person simone    schedule 13.10.2010    source источник
comment
отредактировал комментарий. ‹голова› не была видна   -  person simone    schedule 13.10.2010


Ответы (3)


Функции the_content() и get_the_content() предназначены для использования внутри цикла WordPress, что означает, что вы не можете просто использовать их по желанию. Вам нужно будет создать цикл внутри файла header.php, который запрашивает базу данных WordPress, извлекает некоторый контент и использует его по мере необходимости.

По сути, оберните вызов the_content() внутри:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    ...
<?php endwhile; endif; ?>

Тогда вы сможете получить содержимое публикации в любом месте на странице... однако я не совсем понимаю, почему вы пытаетесь получить содержимое публикации в разделе <head> страницы. <head> используется для объявлений стилей, тегов <script> и метаинформации о странице... не для фактического содержимого страницы. Если вы пытаетесь получить конкретную информацию о текущей странице, я бы рекомендовал использовать совершенно другую функцию.

person EAMann    schedule 13.10.2010
comment
Ну ---- я не знаю о человеке, который изначально задал вопрос, но мне нужен контент поста, если я хочу успешно создать карточку в Твиттере. - person Sophia_ES; 27.05.2017

Я думаю, что вы ищете:

$stringa = get_the_content();
person Sabeen Malik    schedule 13.10.2010

if (is_single()) 
{
  the_post();
  $content = get_the_content();
  rewind_posts();
}

Важно поставить rewind_posts(), иначе в других шаблонах не будет работать post loop.

person Kuba Markiewicz    schedule 15.09.2011