Как мне отобразить функцию содержимого в этом цикле?
У меня есть этот цикл на моем сайте 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> · <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> · <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