gpt4 book ai didi

wordpress - 自定义 WP 帖子循环仅显示一个帖子

转载 作者:行者123 更新时间:2023-12-05 03:16:50 24 4
gpt4 key购买 nike

我制作了一个简码,以便在我的自定义主页上显示循环:

function home_loop_shortcode() {    
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => '8',
'cat' => '3, 6',
'orderby' => 'date'
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$postlink = get_permalink(get_the_ID());
$html = '<li><a href="' . $postlink . '">' . get_the_title() . '</a></li>';
}
}
return $html;
wp_reset_postdata();
}
add_shortcode( 'loop', 'home_loop_shortcode' );

我实际上在类别 ID 3 和 6 中有 8 个帖子,但只显示了第一个帖子。代码嵌套在这个 HTML 中:

<div class="home-loop">
<h3>Latest posts</h3>
<ul>
[loop]
</ul>
</div>

即使我删除了 'cat' 行,或者用 'category_name' => 'foo' 替换它,或者如果我设置了 'posts_per_page' = > -1,没有任何变化。我可能错过了一些明显的东西......帮助!😭😭

最佳答案

您正在用上一篇文章覆盖 $html 而不是将其连接起来。

所以定义$html = ''; 然后连接它:

function home_loop_shortcode() {    
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => '8',
'cat' => '3, 6',
'orderby' => 'date'
);
$query = new WP_Query($args);
$html = '';
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$postlink = get_permalink(get_the_ID());
$html .= '<li><a href="' . $postlink . '">' . get_the_title() . '</a></li>';
}
}
return $html;
wp_reset_postdata();
}
add_shortcode( 'loop', 'home_loop_shortcode' );

关于wordpress - 自定义 WP 帖子循环仅显示一个帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74435251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com