You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress分类查询异常:如何配置terms实现按最新文章展示

解决方案:修复分类归档页的文章查询逻辑

看起来你的问题出在自定义查询里错误地使用了「最新分类」的ID作为terms参数,导致每次发布新文章后,查询的是最新创建的分类下的内容,而不是当前URL对应的分类下的文章。

核心修改点:替换terms参数为当前分类ID

在你的$args数组中,把terms的值从$taxChild->term_id替换为WordPress提供的当前分类ID获取函数:

$args = array(
    'post_type' => 'post',
    'posts_per_page' => -1,
    'order' => 'DESC',
    'orderby' => 'date',
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field' => 'term_id',
            'terms' => get_queried_object_id(), // 这里替换为当前分类ID
        ),
    )
);

为什么这样修改?

  • 在category.php这类分类归档模板中,get_queried_object_id()会自动返回当前URL对应的分类的ID,确保查询的始终是当前分类下的文章。
  • 你之前用的$taxChild->term_id应该是获取了网站中最新创建的分类ID,这才导致显示内容跑偏到最新分类下。

额外优化建议

  1. 如果你不需要自定义查询,其实WordPress在分类归档页已经有默认的主查询,会自动加载当前分类下的最新文章,你可以直接使用主循环(if ( have_posts() ) : while ( have_posts() ) : the_post(); ... endwhile; endif;),不需要自己写WP_Query。
  2. 如果确实需要自定义查询,记得在查询结束后调用wp_reset_postdata(),避免干扰后续的循环逻辑。

内容的提问来源于stack exchange,提问作者S4boteur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:53:30