前言
筛选通过 Bricks 动态数据渲染 CMB2 复选框字段时输出的值。默认情况下,Bricks 将 ‘on’ 转换为“Yes”,其它值转换为“No”。
用法
将代码加入子主题的 functions.php:
add_filter( 'bricks/cmb2/checkbox_value', function( $value, $original_value, $field, $post ) {
// Example: Return "True" or "False" instead of "Yes" or "No"
return $original_value === 'on' ? 'True' : 'False';
}, 10, 4 );
参数
$value(string):处理后的值(例如“Yes”或“No”)。$original_value(string):来自数据库的原始值(例如 ‘on’)。$field(array):CMB2 字段设置数组。$post(WP_Post):当前文章对象。
示例代码
筛选返回值
add_filter( 'bricks/cmb2/checkbox_value', function( $value, $original_value, $field, $post ) {
// Example: Return "True" or "False" instead of "Yes" or "No"
return $original_value === 'on' ? 'True' : 'False';
}, 10, 4 );
根据条件短路返回原值
根据条件跳过或修改返回值:
add_filter( 'bricks/cmb2/checkbox_value', function( $value, $value ) {
if ( is_admin() ) { return $value; }
// TODO: custom logic here
return $value;
} );
补充说明
更多细节可参考 官方文档。