前言
筛选 Bricks 构建器中元素条件界面上可用的条件选项。允许你向现有条件类别中添加新条件,或完全添加新的自定义条件类别。
用法
将代码加入子主题的 functions.php:
add_filter( 'bricks/conditions/options', function( $options ) {
// Add a custom 'Is Weekend' condition
$options[] = [
'key' => 'is_weekend',
'group' => 'other', // Or a custom group created via bricks/conditions/groups
'label' => esc_html__( 'Is Weekend', 'my-plugin' ),
'compare' => [
'type' => 'select',
'options' => [
'==' => esc_html__( 'is', 'bricks' ),
],
],
'value' => [
'type' => 'select',
'options' => [
'true' => esc_html__( 'True', 'bricks' ),
'false' => esc_html__( 'False', 'bricks' ),
],
],
];
return $options;
} );
参数
$options(array):条件选项数组。每个选项定义条件键、标签、组、比较运算符和值输入类型。
示例代码
筛选返回值
add_filter( 'bricks/conditions/options', function( $options ) {
// Add a custom 'Is Weekend' condition
$options[] = [
'key' => 'is_weekend',
'group' => 'other', // Or a custom group created via bricks/conditions/groups
'label' => esc_html__( 'Is Weekend', 'my-plugin' ),
'compare' => [
'type' => 'select',
'options' => [
'==' => esc_html__( 'is', 'bricks' ),
],
],
'value' => [
'type' => 'select',
'options' => [
'true' => esc_html__( 'True', 'bricks' ),
'false' => esc_html__( 'False', 'bricks' ),
],
],
];
return $options;
} );
根据条件短路返回原值
根据条件跳过或修改返回值:
add_filter( 'bricks/conditions/options', function( $value, $options ) {
if ( is_admin() ) { return $value; }
// TODO: custom logic here
return $value;
} );
补充说明
更多细节可参考 官方文档。