如何将主题样式表加入我的管理设置页面?

时间:2018-05-09 作者:klewis

我有一种情况,我正在构建一个插件,它实际上适合某个特定的主题。在我的主题中,我有下面的文件夹结构,指向我的css文件。

wp-content -> themes -> my-theme-name -> css -> my-custom-css.css

从我的插件中,我如何将模板css文件排队到特定的设置页面上(仅供参考-我目前正在使用设置API构建我的设置页面?)。

我在网上找到了关于如何将插件样式表与管理区域关联的教程,这很酷。但我需要我的theme\'s custom css file 改为进入我的自定义设置页面。

这是我在抄本里找到的东西。。。

我可以为特定的设置页执行此操作吗?

function wpdocs_enqueue_custom_admin_style() {
        wp_register_style( \'custom_wp_admin_css\', get_template_directory_uri() . \'/admin-style.css\', false, \'1.0.0\' );
        wp_enqueue_style( \'custom_wp_admin_css\' );
}
add_action( \'admin_enqueue_scripts\', \'wpdocs_enqueue_custom_admin_style\' );

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

这个admin_enqueue_scripts 挂钩有一个$hook_suffix 当前管理页的参数。此参数将返回如下内容toplevel_page_yourpagename 其中toplevel\\u页面是您的页面级别,而您的PageName是您在?page=yourpagename url。

使用该选项检查当前页面是否为插件的设置页面,然后加载脚本。

function wpdocs_enqueue_custom_admin_style($hook_suffix) {
    // Check if it\'s the ?page=yourpagename. If not, just empty return before executing the folowing scripts. 
    if($hook_suffix != \'toplevel_page_yourpagename\') {
        return;
    }

    // Load your css.
    wp_register_style( \'custom_wp_admin_css\', get_template_directory_uri() . \'/admin-style.css\', false, \'1.0.0\' );
    wp_enqueue_style( \'custom_wp_admin_css\' );
}
add_action( \'admin_enqueue_scripts\', \'wpdocs_enqueue_custom_admin_style\' );
检查此项以供参考https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Load_CSS_File_from_a_plugin_on_specific_Admin_Page

结束

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。