Bricks 中文文档:bricks/get_remote_templates_data

标签TAGS: 

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

📄 原始资料  |  展开查看原始 JSON(bricks-get_remote_templates_data.json)
{
  "name": "bricks/get_remote_templates_data",
  "kind": "filter",
  "url": "https://academy.bricksbuilder.io/developer/hooks/filters/bricks-get_remote_templates_data/",
  "scraped_at": "2026-08-29",
  "hook_name": "bricks/get_remote_templates_data",
  "description": {
    "en": "Filters the data retrieved from a remote template source (e.g., the Bricks Community Templates or a custom remote library). This allows you to modify, add, or remove templates before they are displayed in the template manager.",
    "zh": "在 Bricks 主查询循环结束时触发。可用于在主查询循环运行结束后执行附加任务(例如设置/重置特定数据)。"
  },
  "parameters": [
    {
      "name": "remote_templates",
      "type": "array",
      "type_zh": null,
      "description": {
        "en": "The decoded JSON response from the remote source, containing template data.",
        "zh": "来自远程源的已解码 JSON 响应,包含模板数据。"
      }
    }
  ],
  "example_usage": "add_filter( 'bricks/get_remote_templates_data', function( $remote_templates ) {\n    // Example: Remove templates with a specific tag\n    if ( ! empty( $remote_templates['templates'] ) ) {\n        foreach ( $remote_templates['templates'] as $key => $template ) {\n            if ( isset( $template['tags'] ) && in_array( 'deprecated', $template['tags'] ) ) {\n                unset( $remote_templates['templates'][ $key ] );\n            }\n        }\n    }\n\n\n    return $remote_templates;\n} );"
}

前言

在 Bricks 主查询循环结束时触发。可用于在主查询循环运行结束后执行附加任务(例如设置/重置特定数据)。

用法

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

add_filter( 'bricks/get_remote_templates_data', function( $remote_templates ) {
    // Example: Remove templates with a specific tag
    if ( ! empty( $remote_templates['templates'] ) ) {
        foreach ( $remote_templates['templates'] as $key => $template ) {
            if ( isset( $template['tags'] ) && in_array( 'deprecated', $template['tags'] ) ) {
                unset( $remote_templates['templates'][ $key ] );
            }
        }
    }


    return $remote_templates;
} );

参数

  • $remote_templates (array):来自远程源的已解码 JSON 响应,包含模板数据。

示例代码

筛选返回值

add_filter( 'bricks/get_remote_templates_data', function( $remote_templates ) {
    // Example: Remove templates with a specific tag
    if ( ! empty( $remote_templates['templates'] ) ) {
        foreach ( $remote_templates['templates'] as $key => $template ) {
            if ( isset( $template['tags'] ) && in_array( 'deprecated', $template['tags'] ) ) {
                unset( $remote_templates['templates'][ $key ] );
            }
        }
    }


    return $remote_templates;
} );

根据条件短路返回原值

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

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

补充说明

更多细节可参考 官方文档