检查是否已加载Twitter Bootstrap

时间:2014-09-17 作者:MikeiLL

我正在开发一个使用推特引导模式的插件,但如果已经加载了引导,我想阻止加载引导。

<a href="https://github.com/MaxCDN/bootstrap-cdn/issues/111#issuecomment-14467221">Apparently</a> 
以下内容。js代码可以做到这一点:

<script> 
if(typeof($.fn.modal) === \'undefined\') {
 document.write(\'<script src="path_to_/bootstrap-3.1.1.js"><\\/script>\')
}
</script>
但是,有没有什么方法可以用PHP来实现这一点,或者在脚本的函数已经存在的情况下阻止插件将脚本排队?

1 个回复
SO网友:Vino

做这件事没有好办法。

一种方法是枚举已注册的脚本,如下所示:

    function yourplugin_add_my_stylesheet() {
      global $wp_styles;
      if ( $wp_styles instanceof WP_Styles ) {
        // enumerate all current styles
        foreach( $wp_styles->queue as $handle ) {  
          // use the $handle to see if it\'s called \'bootstrap\'
          $obj = $wp_styles->registered[$handle];
          // or use $obj[\'src\'] to see if `bootstrap.css` is in there
        }
      }
    }
    add_action(\'wp_enqueue_scripts\', \'yourplugin_add_my_stylesheet\');
但在大多数情况下not 工作:

插件加载的顺序不得而知,因此有问题的其他插件在此之后将加载我的插件wp_register_style() 方法一个可能的建议是,您的插件会获得一个带有复选框的选项页面,允许管理员加载或不加载css。这样,如果存在冲突或复制,则可以关闭复制的加载。

结束

相关推荐