如何加载子主题CSS之后的所有插件?

时间:2017-09-11 作者:Ben

目前,我的CSS层次结构如下所示:

主题>插件(主要是页面生成器)>子主题。

如何在层次结构中最后加载所有插件CSS?

2 个回复
SO网友:David Lee

您有3个选项:

Option 1:
使用依赖项,首先获取样式handler, 如果您有权访问该文件,可以从wp_enqueue_style 函数,如果不是,请检查HTML代码并找到id 处理程序的id 没有-css

enter image description here

如果你正在使用wp_enqueue_stylewp_register_style, 有一个参数称为$deps 这是CSS文件的依赖项数组,这里是一个子主题将父CSS文件作为依赖项加载的示例,因此它首先加载:

function my_theme_enqueue_styles() {

    wp_enqueue_style( \'child-style\',
        get_stylesheet_directory_uri() . \'/style.css\',
        array( \'parent-style\' ), //HERE THE HANDLE OF THE CSS FILE I WANT TO LOAD FIRST
        wp_get_theme()->get(\'Version\')
    );
}
Option 2:
使用钩子的附加操作列表中的执行优先级$priority 中的参数add_action 函数,默认值为10。如果您看到主题CSS没有设置它,您可以将其设置为20,或者如果您有权访问主题文件,则将其设置为ssay 20,并将插件设置为30,如果不只是将其设置为更高的数字,如9999 没有限制,也没有性能惩罚:

add_action( \'admin_enqueue_scripts\', \'load_custom_wp_admin_style\', 9999 );
Option 3:
使用hook, 您可以添加enqueue functionwp_footer 操作,确保主题CSS文件正在加载到wp_head

add_action( \'wp_footer\', \'load_my_css_file\' );
因此,主题CSS文件将加载到<head> 插件CSS文件将稍后加载到页脚中。

SO网友:Milan Petrovic

这取决于何时执行wp\\u enqueue\\u scripts操作。您需要包括priority参数,并将其设置为一些高数字:

add_action(\'wp_enqueue_scripts\', \'my_enqueue_scripts\', 10000);
function my_enqueue_scripts() {
  // enqueue files //
}
这意味着使用此函数排队的文件将很晚添加,如果没有其他插件/主题以更高的数字注册排队,则在此处注册的样式将在头的末尾加载到所有其他CSS文件之后。

结束

相关推荐

我如何把“h1”标签放在css中作为类,并在网站文件中的任何地方调用它

求你了,我想有人帮我。由于由于SEO原因,h1标记预计会在文件中出现一次,因此我想通过将一些文本放在css文件或函数中,使其具有与h1相同的属性。并在文件中的任何位置将其称为类。如果有这个默认类,请帮助我,如果没有,可以有人为我编写php脚本。提前感谢您的帮助。