【为什么我在wordpress返回帖子中的类别模板不在相关类别中()】我的类别模板有问题。对于许多类别, 它回显了不在相关类别中的帖子。我已经检查了WPAdmin仪表板中的帖子和类别, 它们是正确的;问题出在我的代码上。
旁注:此循环始终返回类别中的每个帖子, 然后返回一些。因此, 它不遗漏任何内容, 仅包含一些不属于你的内容。
<
?php
$categories = get_the_category();
$category_id = $categories[0]->
cat_ID;
// the query
$wpb_all_query = new WP_Query(array('post_type'=>
'post', 'post_status'=>
'publish', 'posts_per_page'=>
-1, 'cat' =>
$category_id ));
?>
<
?php if ( $wpb_all_query->
have_posts() and !empty($category_id) ) : ?>
<
!-- the loop -->
<
?php while ( $wpb_all_query->
have_posts() ) : $wpb_all_query->
the_post();
?>
<
div>
<
h2>
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_title();
?>
<
/a>
<
/h2>
<
p>
<
br/>
<
?php echo get_the_date('l, F j, Y');
_e(' by ');
?>
<
a href="http://www.srcmini.com/<
?php echo home_url();
?>
/author/<
?php echo the_author_meta('nicename');
?>
">
<
?php echo get_author_name();
?>
<
/a>
<
/p>
<
p>
<
br/>
<
?php _e('Categories: ');
echo the_category( '/' );
?>
<
/p>
<
?php if ( has_post_thumbnail() ) {the_post_thumbnail();
} ?>
<
span>
<
?php echo apply_filters( 'the_content', wp_trim_words( strip_tags( $post->
post_content ), 55 ) );
?>
<
br/>
<
a href="http://www.srcmini.com/<
?php echo the_permalink();
?>">
Continue Reading >
<
/a>
<
/span>
<
p>
<
br/>
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_title();
?>
<
/a>
<
/p>
<
p>
<
?php echo get_the_date('l, F j, Y');
_e(' by ');
?>
<
a href="http://www.srcmini.com/<
?php echo home_url();
?>
/author/<
?php echo the_author_meta('nicename');
?>
">
<
?php echo get_author_name();
?>
<
/a>
<
/p>
<
/div>
<
?php endwhile;
?>
<
!-- end of the loop -->
<
?php wp_reset_postdata();
?>
<
?php else : ?>
<
p>
<
?php _e( 'Sorry, no posts matched your criteria.' );
?>
<
/p>
<
?php endif;
?>
#1好吧, 我有解决方案。我将帖子发布到循环之外, 因此它默认为第一篇帖子。该博客上的大多数帖子都有多个类别, 并且排序并不总是首先列出所需的类别。此解决方案确保根据加载的页面(而不只是帖子的第一个类别)来抓取类别:
<
?php
$url = $_SERVER['REQUEST_URI'];
preg_match('/\/category\/(.+)\/.*/', $url, $matches);
$category_slug = $matches[1];
$category_id_actual = get_category_by_slug($category_slug)->
term_id;
// the query
$wpb_all_query = new WP_Query(array('post_type'=>
'post', 'post_status'=>
'publish', 'posts_per_page'=>
-1, 'cat' =>
$category_id_actual ));
?>
<
?php if ( $wpb_all_query->
have_posts() and !empty($category_id_actual) ) : ?>
<
!-- the loop -->
<
?php while ( $wpb_all_query->
have_posts() ) : $wpb_all_query->
the_post();
?>
<
div>
<
h2>
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_title();
?>
<
/a>
<
/h2>
<
p>
<
br/>
<
?php echo get_the_date('l, F j, Y');
_e(' by ');
?>
<
a href="http://www.srcmini.com/<
?php echo home_url();
?>
/author/<
?php echo the_author_meta('nicename');
?>
">
<
?php echo get_author_name();
?>
<
/a>
<
/p>
<
p>
<
br/>
<
?php _e('Categories: ');
echo the_category( '/' );
?>
<
/p>
<
?php if ( has_post_thumbnail() ) {the_post_thumbnail();
} ?>
<
span>
<
?php echo apply_filters( 'the_content', wp_trim_words( strip_tags( $post->
post_content ), 55 ) );
?>
<
br/>
<
a href="http://www.srcmini.com/<
?php echo the_permalink();
?>">
Continue Reading >
<
/a>
<
/span>
<
p>
<
br/>
<
a href="http://www.srcmini.com/<
?php the_permalink();
?>">
<
?php the_title();
?>
<
/a>
<
/p>
<
p>
<
?php echo get_the_date('l, F j, Y');
_e(' by ');
?>
<
a href="http://www.srcmini.com/<
?php echo home_url();
?>
/author/<
?php echo the_author_meta('nicename');
?>
" class="authorname">
<
?php echo get_author_name();
?>
<
/a>
<
/p>
<
div style="float:right;
">
<
/div>
<
/div>
<
?php endwhile;
?>
<
!-- end of the loop -->
<
?php wp_reset_postdata();
?>
<
?php else : ?>
<
p>
<
?php _e( 'Sorry, no posts matched your criteria.' );
?>
<
/p>
<
?php endif;
?>
推荐阅读
- 为什么在pre_get_posts钩子中的is_main_query()在主循环中时不返回true()
- 为什么我需要在single.php中进行wp循环
- 如果键为空,为什么获取发布元单参数不起作用
- 为什么我的自定义帖子类型无法使用WP_QUERY()
- PHP基本语法
- 人工智能无人干预垃圾发电全面解决方案
- 1024程序员节(51CTO博客送福利啦,千件实体好礼,零门槛瓜分;;;)
- 都 2021 了你居然还在用 WebStorm ()
- 瀚高数据库内存结构