如何将CSS类添加到自定义Wordpress元框?

时间:2017-08-21 21:01:36

标签: php css wordpress meta-boxes

我正在尝试将CS​​S类添加到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回调中添加过滤器吗?

1 个答案:

答案 0 :(得分:0)

您需要使用$o["args"]["slug"]$o["args"]["classes"]代替$o["slug"]$o["classes"]