如果脚本尚未使用函数加载,则将其加入队列

时间:2015-11-16 11:49:55

标签: php wordpress function

我创建了一个wordpress插件,可以创建各种小部件。为了缩短页面加载时间,我只想在使用窗口小部件时将相关脚本排入队列。

为此,我创建了一个这样的函数:

function enqueue_lightbox(){
wp_enqueue_style(
SKIZZAR_SHORTCODES__PLUGIN_SLUG . '-fancybox-css',
'https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css',
array(),
SKIZZAR_SHORTCODES__VERSION
);
wp_enqueue_script( SKIZZAR_SHORTCODES__PLUGIN_SLUG . '-lightbox' );
wp_enqueue_script( SKIZZAR_SHORTCODES__PLUGIN_SLUG . '-lightbox-media' );
}

在我的widget类中,我称之为:

enqueue_lightbox();

我遇到的问题是我有2个小部件共享同一段代码,因此我想创建一个声明,如果它已经在其他地方已经入队,那么就将它排入队列。< / p>

我该怎么写这个函数?

1 个答案:

答案 0 :(得分:1)

您可以使用wp_script_is函数检查文件并像这样加载

$handle = 'fluidVids.js';
   $list = 'enqueued';
     if (wp_script_is( $handle, $list )) {
       return;
     } else {
       wp_register_script( 'fluidVids.js', plugin_dir_url(__FILE__).'js/fluidvids.min.js');
       wp_enqueue_script( 'fluidVids.js' );
     }