📄 原始资料 | 展开查看原始 JSON(bricks-query_filters_cf_integration-register_providers.json){ “name”: “bricks/query_filters_cf_integration/register_providers”, “kind”: “filter”, “url”: “https://academy.bricksbuilder.io/developer/hooks/filters/bricks-query_filters_cf_integration-register_providers/”…
📄 原始资料 | 展开查看原始 JSON(bricks-query_filters_cf_integration-register_providers.json)
{
"name": "bricks/query_filters_cf_integration/register_providers",
"kind": "filter",
"url": "https://academy.bricksbuilder.io/developer/hooks/filters/bricks-query_filters_cf_integration-register_providers/",
"scraped_at": "2026-08-29",
"hook_name": "bricks/query_filters_cf_integration/register_providers",
"description": {
"en": "Filters custom field providers used by query filter integrations before Bricks registers their provider classes. Bricks maps each provider key to a class named Bricks\\Integrations\\Query_Filters\\Field_{Provider} using ucfirst( $provider ) . The default provider keys are acf and metabox .",
"zh": "在 Bricks 注册其 provider 类之前,筛选查询筛选集成使用的自定义字段 providers。Bricks 使用 ucfirst($provider) 将每个 provider 键映射到名为 Bricks\\Integrations\\Query_Filters\\Field_{Provider} 的类。默认的 provider 键是 acf 和 metabox。"
},
"parameters": [
{
"name": "providers",
"type": "array",
"type_zh": null,
"description": {
"en": "Provider keys registered for query filter custom field integration.",
"zh": "为查询筛选自定义字段集成注册的 provider 键。"
}
}
],
"example_usage": "add_filter( 'bricks/query_filters_cf_integration/register_providers', function( $providers ) {\n $providers[] = 'myprovider';\n\n\n return $providers;\n} );"
}
前言
在 Bricks 注册其 provider 类之前,筛选查询筛选集成使用的自定义字段 providers。Bricks 使用 ucfirst($provider) 将每个 provider 键映射到名为 Bricks\Integrations\Query_Filters\Field_{Provider} 的类。默认的 provider 键是 acf 和 metabox。
用法
将代码加入子主题的 functions.php:
add_filter( 'bricks/query_filters_cf_integration/register_providers', function( $providers ) {
$providers[] = 'myprovider';
return $providers;
} );
参数
$providers (array):为查询筛选自定义字段集成注册的 provider 键。
示例代码
筛选返回值
add_filter( 'bricks/query_filters_cf_integration/register_providers', function( $providers ) {
$providers[] = 'myprovider';
return $providers;
} );
根据条件短路返回原值
根据条件跳过或修改返回值:
add_filter( 'bricks/query_filters_cf_integration/register_providers', function( $value, $providers ) {
if ( is_admin() ) { return $value; }
// TODO: custom logic here
return $value;
} );
补充说明
更多细节可参考 官方文档。