CSS样式在自定义Metabox中不起作用

时间:2013-01-15 作者:HoGo

我在设计自定义帖子的元框内容时遇到了一些困难。未应用CSS样式。根据我在另一篇帖子上读到的内容,我做了一个非常简单的测试。

metabox创建:

add_meta_box(\'wpptabs_company_details\', __(\'The Meta box name\', \'wpptabs\'), array(&$this, \'render_meta_content\'), \'wpptabs\', \'normal\', \'high\');
Meteabox含量:

<label> THIS IS TEST </label>
这是我用css尝试的方法

.postbox label{color : red!important;  }
#meta_wpptabs_company_details .postbox label{color : red!important;  }
#meta_wpptabs_company_details label{color : red!important;  }
#wpptabs_company_details .postbox label {color : red!important;  }
#wpptabs_company_details label {color : red!important;  }
#meta_wpptabs_company_details {color : red!important;  }
label {color : red!important;  }
这是在带有“inspect element”->link 当我直接到元素。样式{}它可以工作,但当我用“+”按钮添加新的样式规则时,会出现一个标签{}字段,当我在其中写入样式时,它不会工作。

这里有一些css加载的证据:->link

这就是它在页眉中的页面源代码中的外观

<link rel=\'stylesheet\' id=\'wpptabs-config-table-css-css\'  href=\'http://namio.pl/wp-content/plugins/wp-pricing-tables/css/admin.css?ver=null\' type=\'text/css\' media=\'false\' />
这就是我加载css的方式:

class MyClass {

function __construct() {
    add_action(\'admin_enqueue_scripts\', array(&$this,\'wpptabs_table_modifier\'));
    add_action(\'admin_print_styles\', array(&$this,\'wpptabs_enqueue_styles\'));
  }

function wpptabs_enqueue_styles() {
        global $typenow; if ($typenow=="wpptabs") {
        wp_register_style(\'wpptabs-config-table-css\', WPPTABS_URLPATH . \'/css/admin.css\', \'null\', \'null\', \'false\');
        wp_enqueue_style(\'wpptabs-config-table-css\');
        }
    }   
我不知道还能是什么。如果需要更多的细节,请告诉我。

1 个回复
最合适的回答,由SO网友:webaware 整理而成

metabox div获取一个ID“meta\\uuu”+您的metabox ID,因此:

抱歉,这是我在看自己的元盒,忘记了我实际上是这样给它们加前缀以区分容器和容器中的元素:(

让我们研究一下你的代码,看看是否能找到答案。

首先,您的metabox具有id“wpptabs\\u company\\u details”,因此容器具有id(正如我之前所说的!)元素ID“wpptabs\\u company\\u details”。如果没有其他情况,以下CSS应设置标签的文本颜色:

#wpptabs_company_details { color: red; }
因此,我将其粘贴到一个文件“css/admin”中。css’在插件文件夹中,我制作了一个插件,其中包含以下代码:

class wpse_81783_metaproblems {

    public function __construct() {
        add_action(\'init\', array($this, \'init\'));
    }

    public function init() {
        add_action(\'add_meta_boxes_post\', array($this, \'add_meta_boxes\'));
        add_action(\'admin_enqueue_scripts\', array($this,\'wpptabs_enqueue_styles\'));
    }

    public function add_meta_boxes() {
        add_meta_box(\'wpptabs_company_details\', __(\'The Meta box name\', \'wpptabs\'), array($this, \'render_meta_content\'), \'post\', \'normal\', \'high\');
    }

    public function render_meta_content() {
        echo "<label> THIS IS TEST </label>\\n";
    }

    public function wpptabs_enqueue_styles() {
        global $typenow;

        if ($typenow == \'post\') {
            wp_register_style(\'wpptabs-config-table\', plugins_url(\'css/admin.css\'), null, null, false);
            wp_enqueue_style(\'wpptabs-config-table\');
        }
    }

}

new wpse_81783_metaproblems();
您的代码是用于自定义post类型的,但我坚持使用“post”只是为了简单。请注意,我已经清除了排队调用中的几个简单错误:您要经过的位置\'null\'\'true\', 这些是字符串,应改为nulltrue 它们是不同的。我也只是使用了这个函数plugins_url() 查找CSS文件,这可能是您的问题。否则,我不确定我是否真的做了很多不同。它起作用了。我在元数据库中得到一个红色标签元素。

我想到了几件事。

查看我的代码,查看您的代码,然后播放“找出差异”。也许就在那里面

结束

相关推荐

如何将标签(自定义分类法)添加到POST类css?

当我已经为类别添加了自定义分类法时,我正试图找出如何将标签的自定义分类法添加到post class css中。Im当前用于添加类别分类的代码是- <?php $terms = get_the_terms( $post->ID, \'videoscategory\' ); ?> <div class=\"box<?php foreach( $terms as $term ) echo \' \' . $term->slug; ?>\">