wp将脚本库依赖项排入队列

时间:2011-07-06 18:34:43

标签: php javascript jquery wordpress

我有一个6库的列表,我想加载到我的wordpress插件/主题。目前它们都被添加到主题中的标题中,如此。

<script type="text/javascript" src="/wp-content/themes/mytheme/js/jquery.wijmo-open.1.2.0.min.js"></script>

我正在构建一个插件,它有自己的脚本,依赖于这些库。我想通过这个解决方案来运行,看看它是否符合wordpress标准。我需要在主题中对脚本进行排队,以便我可以在插件中引用它们。

在主题标题中,我将所有<script src>更改为<? wp_enqueue_script(); ?>

wp_enqueue_script( 'my-jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js' );
wp_enqueue_script( 'my-jquery-ui-core', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js' );
wp_enqueue_script( 'raphael', '/wp-content/themes/mytheme/js/external/raphael.js', array('wijmo-jquery','wijmo-jquery-ui-core'));
wp_enqueue_script( 'jquery-glob', '/wp-content/themes/mytheme/js/external/jquery.glob.min.js', array('wijmo-jquery','wijmo-jquery-ui-core'));
wp_enqueue_script( 'jquery-bgiframe', '/wp-content/themes/mytheme/js/external/jquery.bgiframe-2.1.3-pre.js', array('wijmo-jquery','wijmo-jquery-ui-core'));
wp_enqueue_script( 'jquery-mousewheel', '/wp-content/themes/mytheme/js/external/jquery.mousewheel.min.js', array('wijmo-jquery','wijmo-jquery-ui-core'));
wp_enqueue_script( 'wijmo-open', '/wp-content/themes/mytheme/js/jquery.wijmo-open.1.2.0.min.js', array('wijmo-jquery','wijmo-jquery-ui-core','raphael','jquery-glob','jquery-bgiframe'));

在插件中,我现在可以引用我的插件js dependancies jquery-glob,jquery-bgiframe和wijmo-open。

wp_enqueue_script( 'wee_broim_download_form', WP_PLUGIN_URL . '/wee-broim-download-form/js/script.js', array('jquery','jquery-ui-core','raphael','jquery-glob','jquery-bgiframe','jquery-mousewheel','wijmo-open','wijmo-complete'));

我理解wordpress有一些内置的库,我可以使用functions.php指向jquery,jquery ui cdn等,但它只对我进行重命名(my-jquery,my-jquery-ui) 。我只是想我逐渐添加依赖项的方式有点混乱。我希望有一种方式可以对我的插件说,好吧,你最后加载。

1 个答案:

答案 0 :(得分:2)

您无需明确命名所有您的js文件所依赖的库。例如:

如果库A依赖于B,并且您希望在这2之后加载C,则只需要C依赖于A,而A取决于B,C将最后加载。

在您的示例中,您可以执行

wp_enqueue_script( 'wee_broim_download_form', WP_PLUGIN_URL . '/wee-broim-download-form/js/script.js', array('jquery-bgiframe','jquery-mousewheel','wijmo-open','wijmo-complete'));

由于wijmo_open取决于您拥有的其余库。