2013-04-03 54 views
0

我想我已经失去了我的想法...WordPress的插件CSS订单

我写了一个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");** 

但是失败了。

我做了一些头发,但我怕它处于危险之中!

我敢肯定我缺少一些基本的东西...任何/所有建议表示赞赏! (走开,没有选择!)。

+0

根据主题中'header.php'的结构,您可能会也可能不能控制加载顺序。例如,如果主题样式表包含在'wp_head()'函数之后,即使您在wp_enqueue_style中设置了依赖关系,也不能加载最后一个CSS。 – doublesharp

回答

0

您可以采取的另一种方法是利用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增加到其他更高的数字,以便将其优先级降低并稍后加载。