插件已覆盖wp_enQueue_style中的样式表

时间:2014-08-21 作者:Jeff

我在我的主题中使用了字体真棒。

wp_enqueue_style(\'fontawesome\', \'//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css\');
我正在使用另一个插件,它使用的字体很棒,但它使用的是旧版本。

wp_enqueue_style( \'fontawesome\', \'//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css\', array(), MSI_VERSION, \'all\' );
这两个方法使用相同的句柄,因此只有一个在HTML中呈现。。。这是插件的旧版本。我可以更改我的句柄,但随后将加载两个字体Awesomes。我可以破解这个插件,但是,哎呀!

如何让我的Font Awesome版本获得优先权并加载?

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

仅使用wp_register_style()wp_enqueue_style() 正确地

Register 上的样式表wp_loaded, enqueue 打开它wp_enqueue_scripts.

add_action( \'wp_loaded\', function() {
    wp_register_style(
        \'fontawesome\',
        \'//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css\'
    );
});
add_action( \'wp_enqueue_scripts\', function() {
    wp_enqueue_style( \'fontawesome\' );
});
当有人试图打电话时wp_enqueue_style() 通过URL,WordPress将尝试自动注册它,完成以下工作wp_register_style() 在窗帘后面。但那会fail 如果$handle 已注册。

始终在上注册脚本和样式表wp_loaded. 从不使用wp_enqueue_style()wp_enqueue_script() 使用第二个参数。

不要在这里摆弄优先事项。发生冲突的插件可能会更改其自身的优先级,您将再次开始落后。

结束

相关推荐