Bricks 中文文档:bricks/query_filters/element_data

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

📄 原始资料  |  展开查看原始 JSON(bricks-query_filters-element_data.json)
{
  "name": "bricks/query_filters/element_data",
  "kind": "filter",
  "url": "https://academy.bricksbuilder.io/developer/hooks/filters/bricks-query_filters-element_data/",
  "scraped_at": "2026-08-29",
  "hook_name": "bricks/query_filters/element_data",
  "description": {
    "en": "Filters the data for a filter element before it is saved to the internal index table ( bricks_filter_elements ). This allows plugins to attach extra metadata (like language) to the filter configuration.",
    "zh": "在筛选元素数据保存到内部索引表(bricks_filter_elements)之前对其进行筛选。允许插件将额外元数据(如语言)附加到筛选配置。"
  },
  "parameters": [
    {
      "name": "element_data",
      "type": "array",
      "type_zh": null,
      "description": {
        "en": "The data array to be saved (e.g., filter_id , settings , post_id , language ).",
        "zh": "将被保存的数据数组(例如 filter_id、settings、post_id、language)。"
      }
    },
    {
      "name": "element",
      "type": "array",
      "type_zh": null,
      "description": {
        "en": "The raw element data from the builder.",
        "zh": "来自构建器的原始元素数据。"
      }
    },
    {
      "name": "post_id",
      "type": "int",
      "type_zh": null,
      "description": {
        "en": "The ID of the post/template containing the element.",
        "zh": "包含该元素的文章/模板的 ID。"
      }
    }
  ],
  "example_usage": "add_filter( 'bricks/query_filters/element_data', function( $element_data, $element, $post_id ) {\n    // Example: Add a custom property to the saved data\n    $element_data['my_custom_prop'] = 'value';\n\n\n    return $element_data;\n}, 10, 3 );"
}

前言

在筛选元素数据保存到内部索引表(bricks_filter_elements)之前对其进行筛选。允许插件将额外元数据(如语言)附加到筛选配置。

用法

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

add_filter( 'bricks/query_filters/element_data', function( $element_data, $element, $post_id ) {
    // Example: Add a custom property to the saved data
    $element_data['my_custom_prop'] = 'value';


    return $element_data;
}, 10, 3 );

参数

  • $element_data (array):将被保存的数据数组(例如 filter_id、settings、post_id、language)。
  • $element (array):来自构建器的原始元素数据。
  • $post_id (int):包含该元素的文章/模板的 ID。

示例代码

筛选返回值

add_filter( 'bricks/query_filters/element_data', function( $element_data, $element, $post_id ) {
    // Example: Add a custom property to the saved data
    $element_data['my_custom_prop'] = 'value';


    return $element_data;
}, 10, 3 );

根据条件短路返回原值

根据条件跳过或修改返回值:

add_filter( 'bricks/query_filters/element_data', function( $value, $element_data ) {
    if ( is_admin() ) { return $value; }
    // TODO: custom logic here
    return $value;
} );

补充说明

更多细节可参考 官方文档