WordPress 将脚本排队(如果尚未使用函数加载)



我创建了一个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' );
}

在我的小部件类中,我这样称呼它:

enqueue_lightbox();

我遇到的问题是,我有两个小部件共享同一段代码,所以我想创建一个声明,如果它还没有在其他地方排队,就把它排队

我该如何编写此函数?

您可以使用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' );
     }

最新更新