是否从编辑帖子页面的元数据库中删除默认的WordPress样式?

时间:2013-04-06 作者:Ben

有没有办法防止Wordpress自动包装postbox类中的每个metabox?或者至少添加我自己的外部div,以便我可以通过css进行自定义更改?谢谢

2 个回复
SO网友:Ralf912

Here is an answer 如何修改元盒的css类。我不会删除postbox类,因为它是打开和关闭metabox所必需的。但是您可以附加自己的css类来设置metabox和以下html元素的样式。

但是您必须修改每个元盒,没有适用于所有元盒的通用挂钩。使用全局$wp_meta_boxes 找出当前屏幕上可用的元数据库。

add_action( \'wp_dashboard_setup\', \'close_all_meta_boxes\', 999 );

function close_all_meta_boxes() {

    global $wp_meta_boxes;

    $screen = get_current_screen();
    $page = $screen->id;

    if ( isset( $wp_meta_boxes[$page] ) ) {

        foreach ( $wp_meta_boxes[$page] as $parts ) {

            if ( is_array( $parts ) ) {

                foreach ( $parts as $part ) {

                    if ( is_array( $part ) ) {

                        foreach ( $part as $id => $metabox ) {

                            add_filter( "postbox_classes_{$page}_{$id}", \'modify_meta_box_css\' );

                        }

                    }
                }

            }

        }
    }

}

function modify_meta_box_css( $classes ) {

    if ( is_array( $classes ) ) {
        array_push( $classes, \'closed\' );
    }

    return $classes;

}
此代码将添加closed 类设置为仪表板上的所有元盒,因此所有元盒都将显示为缩小。

SO网友:s_ha_dum

使用添加必要的类postbox_classes_{$page}_{$id} 滤器例如

function add_class($classes) {
  $classes[] = \'awesome-new-class-that-I-could-not-live-without\';
  return $classes;
}
add_filter(\'postbox_classes_post_submitdiv\',\'add_class\');
这将把您的类添加到“Post”编辑页面上的“Submit”元框中,即带有“Publish”标题的元框。您可以通过查看页面的源代码来获取这些值。这个{$page} 部分显示在顶部附近的一点Javascript中。寻找pagenow. {$id}是元盒<div>\'s id属性。

结束