Итак, в основном я создаю небольшую функцию, чтобы получать самые последние сообщения с определенной категорией из WordPress и просто связывать их на тестовой странице.Сама функция работает, вытащил ее из этого стека обмена потока .Мой цикл while настроен на данный момент, игнорируя все HTML / CSS, которые я пытаюсь вернуть.
- Удаление the_post () игнорирует $ args и перечисляет все сообщения из всех категорий вместо только одной, которую я перечислил,но все равно игнорирует HTML.
- Удаление wp_reset_postdata () ничего не делает, насколько я вижу, не решает мою проблему.
- Добавление
<br>
или clearfix divs не решает проблему. - Наличие возврата в цикле while отправляет только последнее последнее сообщение, поскольку оно закрывает цикл после возврата.
- Попытка использовать echo вместо return, тот же результат.
function link_recent_posts(){
$text = "";
$args = array('posts_per_page' => 2,
'cat' => '144',);
$q = new WP_Query($args);
if($q->have_posts() ){
while( $q->have_posts() ){
$q->the_post();
$text .= "<a href='".the_permalink()."'>".the_title()."</a><br>";
}
wp_reset_postdata();
}
return $text;
}
add_shortcode('TestRecentPosts', 'link_recent_posts');
Ожидаемый результат должен быть
<a href='LINK1'> TITLE TITLE TITLE </a><br>
<a href='LINK2'> TITLE TITLE TITLE </a><br>
Результат, который я получаю:
<div class="wordpress-content-section">
<div class="clearfix"></div>
LINK 1
TITLE 1
LINK 2
TITLE 2
<a href=""></a><br>
<a href=""></a><br>
</div>
Представьте, что между ссылками и заголовками 0 пробелов.
Issue Resolved
- Убран возврат
- Вместо увеличения переменной $ text, я добавил эхо для строки.
- Вместо использования the_permalink ()и the_title (), я использовал get_the_permalink () и get_the_title ().