WordPress插件类中的WP_ENQUEUE_STYLE不工作

时间:2014-09-12 作者:johnh10

我正在尝试为我的插件类设置页面添加样式表,但CSS没有加载。我在上遵循了第二个示例http://codex.wordpress.org/Function_Reference/wp_register_style 要创建此简单测试代码,请执行以下操作:

class MyTestPlugin
{
    public function __construct() 
    {
            add_action(\'admin_menu\', array($this, \'add_menu\'));
            add_action( \'wp_enqueue_scripts\', array($this, \'register_plugin_styles\' ));
    }
    public function register_plugin_styles() {
            wp_register_style( \'my-test-plugin\', plugins_url(\'sbm-test.css\', __FILE__) );
            wp_enqueue_style(\'my-test-plugin\');
    }
    public function add_menu()
    {
            add_options_page(\'SBM Test Settings\', \'SBM Test\', \'manage_options\', \'sbm-test\', array($this, \'sbm_test_options\'));
    }
    public function sbm_test_options()
    {
            echo "<p>SBM Test Options Page.</p>"; 
            echo "<p>" .  plugins_url(\'sbm-test.css\', __FILE__) . " is not loaded.</p>";
    }
}

if(class_exists(\'MyTestPlugin\'))
{
    $test = new MyTestPlugin();
}
到的路径sbm-test.css 是正确的,但我认为register_plugin_styles 没有人打电话。我有WP_DEBUG_LOG true 但在日志中看不到任何错误。我不知道为什么add\\u action没有把它挂起来,所以我希望有人能看到我错过的东西。

1 个回复
最合适的回答,由SO网友:Tomás Cot 整理而成

如果希望CSS位于插件的设置页面中,则应使用以下操作:admin_enqueue_scripts, 因为您当前使用的操作是for the front end.

add_action( \'admin_enqueue_scripts\', array($this, \'register_plugin_styles\' ));

结束

相关推荐