2011-07-06 85 views
0

我有6个库列表我要加载到我的WordPress插件/主题。目前,它们都被添加到主题中的标题中,就像这样。wp_enqueue脚本库的依赖关系

<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的依赖关系jQuery的水珠,jQuery的bgiframe和wijmo开放。

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的等等,但它为我的作品只是对其进行重命名(我-的jQuery,我的 - jQuery的用户界面)。我只是认为我逐渐添加依赖的方式有点混乱。我希望有一种方法可以对我的插件说,好的,你最后加载。

回答

2

你不需要明确地命名全部你的js文件依赖的库。例如:

如果库A依赖于B,并且希望这2后装载C,你只需要C到依赖于,作为一个依赖于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依赖于其他库你了。