实际上你只需要回电话body_class
滤器然后只需检查元数据与实际值之间的相关性:如果是1:1的相关性,只需将get_field()
作为新的车身等级。示例:array( get_field( \'mem_id\' ) )
如果mem_id
元值为color3
例如,如果不是,则可以将其添加为sprintf()
参数并构建类,如下面的示例所示。请记住,检查您是否实际获得了值,如果没有,请设置默认值。
add_filter( \'body_class\', function ( $wp, $extra )
{
return array_merge( $wp, (array) $extra, array(
sprintf(
\'color%s\',
"" !== get_field( \'membertype_id\' )
? get_field( \'membertype_id\' )
: "1" // default
),
# additional declarations here
) );
}, 20, 2 );
这只是一个示例,您在制定解决方案时肯定会更加老练。请尽量不要将其与实际值或字段名绑定得太过紧密,因为这样的依赖关系很快就会成为维护的噩梦。
还要记住,我使用get_field()
来自“AdvancedCustomFields”插件,因为这是最初添加到问题中的标记。在真实的WordPress中get_post_meta()
或get_post_custom()
或类似的(取决于您要检索的内容)。