Bricks 中文文档:bricks/terms/query_vars

标签TAGS: 

📄 原始资料  |  展开查看原始 JSON(bricks-terms-query_vars.json){ “name”: “bricks/terms/query_vars”, “kind”: “filter”, “url”: “https://academy.bricksbuilder.io/developer/hooks/filters/filter-bricks-terms-query_vars/”, “scraped_at”: “2026-08-29”, “hook_name”: “bricks/terms/query_vars”, “description”: {…

📄 原始资料  |  展开查看原始 JSON(bricks-terms-query_vars.json)
{
  "name": "bricks/terms/query_vars",
  "kind": "filter",
  "url": "https://academy.bricksbuilder.io/developer/hooks/filters/filter-bricks-terms-query_vars/",
  "scraped_at": "2026-08-29",
  "hook_name": "bricks/terms/query_vars",
  "description": {
    "en": "Bricks terms query variables can be manipulated before the query runs like so: The filter callback receives three arguments: Inside a term archive page, to exclude the current term from the query: where uxtkgn is the Bricks ID of the element on which query loop is enabled. In this example, we would like to get only the terms assigned to a specific post ID (the same as the WordPress function wp_get_object_terms() output):",
    "zh": "Bricks 术语查询变量可以在查询运行之前进行操作,如下所示:筛选器回调接收三个参数:在 term archive 页面中,从查询中排除当前术语:其中 uxtkgn 是启用查询循环的元素的 Bricks ID。在本例中,我们希望仅获取分配给特定文章 ID 的术语(与 WordPress 函数 wp_get_object_terms() 的输出相同):"
  },
  "example_usage": "add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id, $element_name ) {\n    if ( $element_id !== 'mjvhur' ) {\n        return $query_vars;\n    }\n\n\n    $query_vars['object_ids'] = get_the_ID();\n\n\n    return $query_vars;\n}, 10, 4 );"
}

前言

Bricks 术语查询变量可以在查询运行之前进行操作,如下所示:筛选器回调接收三个参数:在 term archive 页面中,从查询中排除当前术语:其中 uxtkgn 是启用查询循环的元素的 Bricks ID。在本例中,我们希望仅获取分配给特定文章 ID 的术语(与 WordPress 函数 wp_get_object_terms() 的输出相同):

用法

将代码加入子主题的 functions.php

add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id, $element_name ) {
    if ( $element_id !== 'mjvhur' ) {
        return $query_vars;
    }


    $query_vars['object_ids'] = get_the_ID();


    return $query_vars;
}, 10, 4 );

示例代码

筛选返回值

add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id, $element_name ) {
    if ( $element_id !== 'mjvhur' ) {
        return $query_vars;
    }


    $query_vars['object_ids'] = get_the_ID();


    return $query_vars;
}, 10, 4 );

补充说明

更多细节可参考 官方文档