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

如何获取Elementor循环网格中分类迭代项的Term ID?

解决Elementor嵌套循环网格中获取当前分类Term ID并过滤文章的问题

核心方案

通过Elementor内置的循环上下文API,精准获取嵌套循环中当前分类项的Term ID,再通过服务器端过滤器修改文章循环的查询参数,实现仅展示对应分类下的文章。

步骤1:标记目标文章循环

编辑子分类项内的文章循环网格,在「高级」选项卡的「CSS类」中添加自定义标识,比如 child-term-posts-loop。这个标识用于后续过滤器中识别目标循环,避免影响其他循环组件。

步骤2:编写服务器端过滤函数

添加以下代码到主题的functions.php文件或自定义插件中:

function filter_child_term_posts( $args, $query ) {
    // 仅处理标记了自定义类的文章循环
    $css_classes = $query->get_settings( 'css_classes' );
    if ( empty( $css_classes ) || strpos( $css_classes, 'child-term-posts-loop' ) === false ) {
        return $args;
    }

    // 获取当前父分类循环中的Term对象
    $current_term = \Elementor\Plugin::instance()->loop->get_current_loop_item();

    // 验证是否为合法分类对象,设置文章查询的分类过滤条件
    if ( $current_term instanceof \WP_Term ) {
        $args['tax_query'] = array(
            array(
                'taxonomy' => $current_term->taxonomy,
                'field'    => 'term_id',
                'terms'    => $current_term->term_id,
            ),
        );
    }

    return $args;
}
add_filter( 'elementor/query/args', 'filter_child_term_posts', 20, 2 );

关键原理说明

  • 为什么get_queried_object()无效:该函数返回的是当前页面的主查询对象(即父分类「Africa」),而非循环组件中正在迭代的子分类项。
  • \Elementor\Plugin::instance()->loop->get_current_loop_item():Elementor的循环上下文API,能直接获取当前循环迭代中的对象(这里就是子分类Term),是嵌套循环场景下获取当前项的可靠方式。
  • 分类过滤逻辑:通过tax_query参数精准筛选出属于当前子分类的文章,实现服务器端高效过滤,避免前端冗余数据加载。

配合原有子分类循环代码

你之前实现的子分类循环代码可以继续使用,两者结合即可完成「父分类归档页展示子分类 + 每个子分类下展示对应文章」的需求:

function get_taxonomy_children( $args, $settings, $display_settings ) {
    if ( isset( $settings['term_taxonomy_id'] ) && $settings['term_taxonomy_id'] === 'taxonomy_children' ) {
        $args['term_taxonomy_id'] = '';

        $current_term = get_queried_object();

        if ( isset( $current_term->term_id ) ) {
            $args['parent'] = $current_term->term_id;
        }
    }
    return $args;
}
add_filter( 'elementor/loop_taxonomy/args', 'get_taxonomy_children', 20, 3 );

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:00:16