我在自定义循环中显示粘性帖子时遇到问题。这是我用于自定义循环的代码:
<?php
$post_from_cat_a = new WP_Query(array(
\'category_name\' => \'events\', //Get posts from category a
\'posts_per_page\'=> 2 //Limit it to the latest one
));
if( $post_from_cat_a->have_posts() ){
while( $post_from_cat_a->have_posts() ): $post_from_cat_a->the_post(); //Display output here for post from category a
$category = get_the_category();
if($category[0]){
echo \'<div class="cat-events"><a href="\'.get_category_link($category[0]->term_id ).\'">\'.$category[0]->cat_name.\'</a></div>\';
}
get_template_part( \'content\', \'events\' );
endwhile;
}
?>
我不明白为什么它不起作用。
Later edit: 这是我的全部homepage.php 出现问题的位置,这是content-events.php 用于事件类别中每个帖子的文件。
Second edit: 如果我包括\'post__in\' => get_option(\'sticky_posts\')
在wp_query
数组显示粘性帖子,但不会列出类别中的下一篇帖子。页面上只显示粘性帖子,这有点忽略了\'posts_per_page\'=> 2
论点
有人知道为什么会这样吗?
SO网友:Damien
如果您使用\'post__in\' => get_option(\'sticky_posts\')
然后你只会过滤那些有粘性的帖子。
正如mrwweb所说,您需要查看您的查询。然后想想你想要的“循环”。
您想显示特定查询中的所有帖子,还是显示所有类别中粘性的所有帖子?
您可能需要进行两次查询或一次客户数据库查询来选择所需的帖子。
您最好在帖子中添加标签或自定义元数据,因为您无法为特定类别的粘性帖子创建循环。