我正在尝试将CSS类添加到Wordpress元框中。我希望这个过程可以重用。这就是我的想法:
添加Meta Box
add_meta_box('my_meta_box', 'My Meta Box', [$metaBoxesClass, 'display_meta_box'], 'my_post_type', 'normal', 'low', [
'slug' => 'my_meta_box',
'classes' => ['my-class']
]);
显示元框(在$metaBoxesClass
类中)
public function display_meta_box($post = null, $o = []) {
// add filter with anonymous callback, default priority and 2 arguments
add_filter('postbox_classes_'.$post->post_type.'_'.$o["slug"], function($classes = [], $classesNew = []) {
foreach($classesNew as $class) {
array_push($classes, $class);
}
return $classes;
}, 10, 2);
// apply new filter with 2 arguments
apply_filters('postbox_classes_'.$post->post_type.'_'.$o["slug"], [], $o['classes']);
}
我这样做似乎没有任何错误,但类my-class
未应用于我的my_meta_box
元框。我可以在display_meta_box
回调中添加过滤器吗?
答案 0 :(得分:0)
您需要使用$o["args"]["slug"]
和$o["args"]["classes"]
代替$o["slug"]
和$o["classes"]
。