Bricks 中文文档:bricks/dynamic_data/render_content

📎 原始资料  |  下载原始 JSON 文件 (bricks-dynamic_data-render_content.json) 前言 如果 bricks/element/render 筛选器内的条件不满足(即返回 false),Bricks 不会渲染当前元素,而是继续渲染下一个元素。 用法 将代码加入子主题的 functions.php: $content = ‘Hello Bricks 中文文档:bricks/dynamic_data/render_content’; $post_id = 123; $post = get_post( $post_id ); // Manually parse dynamic data in a st…

前言

如果 bricks/element/render 筛选器内的条件不满足(即返回 false),Bricks 不会渲染当前元素,而是继续渲染下一个元素。

用法

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

$content = 'Hello Bricks 中文文档:bricks/dynamic_data/render_content';
$post_id = 123;
$post    = get_post( $post_id );


// Manually parse dynamic data in a string
$parsed_content = apply_filters( 'bricks/dynamic_data/render_content', $content, $post, 'text' );


// Output: Hello My Post Title
echo $parsed_content;

参数

  • $content (string):包含动态标签的内容字符串。
  • $post (WP_Post):文章上下文。
  • $context (string):内容被使用的上下文(例如 text)。

示例代码

筛选返回值

$content = 'Hello Bricks 中文文档:bricks/dynamic_data/render_content';
$post_id = 123;
$post    = get_post( $post_id );


// Manually parse dynamic data in a string
$parsed_content = apply_filters( 'bricks/dynamic_data/render_content', $content, $post, 'text' );


// Output: Hello My Post Title
echo $parsed_content;

根据条件短路返回原值

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

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

补充说明

更多细节可参考 官方文档