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

问题描述:

我想添加CSS类到Wordpress元框。我希望这个过程是可重用的。这是我的想法是:如何将CSS类添加到自定义Wordpress元框中?

添加元框

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回拨内添加过滤器吗?

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