【问题标题】:Wordpress Plugin CSS OrderWordpress 插件 CSS 顺序
【发布时间】:2013-03-25 10:03:26
【问题描述】:

我觉得我疯了……

几年前我写了一个 WP 插件。它由几个小部件、一些短代码和完整页面的代码组成。真的没有火箭科学。

我正在快速重写并开始遇到一个问题,即在插件 CSS 之后加载站点主题的 CSS。当然,这使得微调插件变得不可能。

它到底为什么要这么做?这是加入 css 的代码。

**wp_enqueue_style("aa_remote", "http://domaind.com/css/site.css", false, "1.0");**

它已经工作了两年!现在没有了。

我做了一些挖掘,发现我可能可以使用依赖项,所以我像这样加载了主题的样式表。

**wp_enqueue_style("aa_remote", "http://domaind.com/css/site.css", (array) get_stylesheet_uri(), "1.0");**

但是失败得很惨。

我做了一些头发,但我担心它有危险!

我确定我缺少一些基本的东西......任何/所有建议都非常感谢! (走开不是一种选择!)。

【问题讨论】:

  • 根据主题中header.php 的结构,您可能能够或可能无法控制加载顺序。例如,如果主题样式表包含在 wp_head() 函数之后,即使您在 wp_enqueue_style 中设置了依赖项,您也无法最后加载 CSS。

标签: css wordpress plugins


【解决方案1】:

您可以采取的另一种方法是利用wp_enqueue_scripts 挂钩/函数为正在处理的样式表设置低优先级。这样您就可以保证在 WordPress 插件代码中的所有默认样式之后加载样式:

 function my_plugin_unique_style() {
     $base = get_stylesheet_directory_uri();
     wp_enqueue_style( 'style-my-plugin-style', $base.'/styles.css' );
 }
 add_action('wp_enqueue_scripts', 'my_plugin_unique_style', 11 );

当然,您必须修改它以使用插件的 css 文件名,但这是一种控制站点样式加载顺序的方法。值得一提的是,如果这仍然在页面 HEAD 中的另一个 CSS 文件之前加载,您应该将数字从 11 提高到其他更高的数字,以便将其优先级降低并稍后加载。

【讨论】:

  • 谢谢你,正是我需要的
猜你喜欢
  • 1970-01-01
  • 2013-04-05
  • 2017-02-27
  • 1970-01-01
  • 2015-06-12
  • 2017-07-28
  • 2016-05-19
  • 2014-10-12
  • 1970-01-01
相关资源
最近更新 更多