Bricks 中文文档:bricks/frontend/after_render_data

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

📄 原始资料  |  展开查看原始 JSON(bricks-frontend-after_render_data.json)
{
  "name": "bricks/frontend/after_render_data",
  "kind": "action",
  "url": "https://academy.bricksbuilder.io/developer/hooks/actions/bricks-frontend-after_render_data/",
  "scraped_at": "2026-08-29",
  "hook_name": "bricks/frontend/after_render_data",
  "description": {
    "en": "Runs after the Bricks\\Frontend::render_data method has finished generating the HTML for a set of elements. This action is undocumented in the official docs but useful for re-adding plugin actions/filters that were removed in bricks/frontend/before_render_data or performing cleanup.",
    "zh": "在 Bricks\\Frontend::render_data 方法为一组元素生成 HTML 完毕之后触发。此动作在官方文档中未记录,但常用于重新挂载那些在 bricks/frontend/before_render_data 中被移除的插件动作/筛选,或执行清理操作。"
  },
  "parameters": [
    {
      "name": "elements",
      "type": "array",
      "type_zh": null,
      "description": {
        "en": "The array of elements that were rendered.",
        "zh": "已渲染的元素数组。"
      }
    },
    {
      "name": "area",
      "type": "string",
      "type_zh": null,
      "description": {
        "en": "The area being rendered (e.g., ‘content’, ‘header’, ‘footer’).",
        "zh": "正在渲染的区域(例如 'content'、'header'、'footer')。"
      }
    }
  ],
  "example_usage": "add_action( 'bricks/frontend/after_render_data', function( $elements, $area ) {\n    // Restore actions/filters removed in before_render_data\n    // add_filter( 'the_content', 'my_plugin_content_filter' );\n\n\n    // Example: Log render completion\n    // error_log( \"Finished rendering area: $area\" );\n} );"
}

前言

在 Bricks\Frontend::render_data 方法为一组元素生成 HTML 完毕之后触发。此动作在官方文档中未记录,但常用于重新挂载那些在 bricks/frontend/before_render_data 中被移除的插件动作/筛选,或执行清理操作。

用法

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

add_action( 'bricks/frontend/after_render_data', function( $elements, $area ) {
    // Restore actions/filters removed in before_render_data
    // add_filter( 'the_content', 'my_plugin_content_filter' );


    // Example: Log render completion
    // error_log( "Finished rendering area: $area" );
} );

参数

  • $elements (array):已渲染的元素数组。
  • $area (string):正在渲染的区域(例如 ‘content’、’header’、’footer’)。

示例代码

筛选返回值

add_action( 'bricks/frontend/after_render_data', function( $elements, $area ) {
    // Restore actions/filters removed in before_render_data
    // add_filter( 'the_content', 'my_plugin_content_filter' );


    // Example: Log render completion
    // error_log( "Finished rendering area: $area" );
} );

根据条件短路返回原值

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

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

补充说明

更多细节可参考 官方文档