所以基本上,我创建了一个小函数,从WordPress获取某个类别的最新帖子,并将它们链接到一个测试页面中。函数本身工作,从这个stackexchange线程抓取它。我的while循环设置当前忽略了我尝试返回的所有HTML/CSS。
或clearfix div不能解决此问题。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个空格。
问题已解决
改用get_the_permalink()和get_the_title()。permalink()和title()直接回显结果。
参见
https://core.trac.wordpress.org/browser/tags/5.1.1/src/wp-includes/post-template.php#l0
https://developer.wordpress.org/reference/functions/the_permalink/