Как мне отобразить функцию содержимого в этом цикле?


У меня есть этот цикл на моем сайте wordpress, на котором отображаются последние сообщения с их названиями, я хочу отображать содержимое сообщения после заголовка. Обычно я извлекаю его с помощью функции get_the_content, но в данном случае я не могу заставить его работать. Это цикл:

   while ( $q_query->have_posts() )
   {

    $q_query->next_post();
    $question = get_post($q_query->post);
   $loophtml = $loophtml . "<li><span class='list-question-title'>" . "<a class='list-answer-link' href='" . get_permalink($question->ID) ."'>" . $question->post_title . "</a></span>";
   $loophtml = $loophtml . "<span class='list-number-answers'>" . get_comments_number($question->ID) . " comentarios</span>&nbsp;&#183;&nbsp<a href='" . get_permalink($question->ID) ."'>Comentar</a>";
   $loophtml = $loophtml . "</li>";
   }

Кто-нибудь знает, как я мог бы это сделать? Спасибо

 1
Author: onetrickpony, 2010-12-18

2 answers

Попробуйте вместо этого:

...

global $post;
while ($q_query->have_posts()){
  $q_query->the_post();

  $loophtml .= "<li><span class='list-question-title'>" . "<a class='list-answer-link' href='" . get_permalink() ."'>" . get_the_title() . "</a></span>";
  $loophtml .= get_the_content();
  $loophtml .= "<span class='list-number-answers'>" . get_comments_number() . " comentarios</span>&nbsp;&#183;&nbsp<a href='" . get_permalink() ."'>Comentar</a>";
  $loophtml .= "</li>";
}
wp_reset_query();

...
 3
Author: onetrickpony, 2010-12-18 20:21:14

У вас там немного необычная структура цикла. get_the_content() работает внутри цикла и с настроенными глобальными переменными. И вы не настраиваете эти глобальные переменные.

Для работы с вашим текущим кодом это будет что-то вроде:

apply_filters('the_content', $question->post_content);

Для правильной работы тегов шаблонов вам необходимо использовать setup_postdata(), см. Примеры в get_posts() документация.

 2
Author: Rarst, 2010-12-18 20:32:23