📄 原始资料 | 展开查看原始 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;
} );
补充说明
更多细节可参考 官方文档。