WordPress Admin-脚本加载但不执行?

时间:2018-12-21 14:22:57

标签: jquery wordpress wp-admin

我试图在wp-admin中加载并执行一系列脚本文件,更具体地说是在post edits屏幕上。目前,我能够成功加载文件,但实际上没有任何工作/执行。也没有控制台错误。

我正在按照以下方式在function.php中加载脚本:

// Admin scripts
function my_admin_scripts($hook){

    // Only load on edit screens
    if( $hook != 'edit.php' && $hook != 'post.php' && $hook != 'post-new.php' ) 
        return;

    wp_register_script('flickity', get_template_directory_uri() .'/js/vendor/min/flickity.pkgd-min.js', false, '2.1.0', false);
    wp_register_script('single', get_template_directory_uri() .'/js/min/single-min.js', false, '1.0', false);

    wp_enqueue_script('flickity');
    wp_enqueue_script('single');
}
add_action('admin_enqueue_scripts','my_admin_scripts');

在控制台中,我看到两个脚本都已加载,因为两个文件都包含console.log()函数:

loaded-flickity
loaded-single

但是,这些脚本的实际功能不起作用,并且如上所述,没有控制台错误可以帮助您指出正确的方向。我以前从未遇到过此类问题,如果脚本加载后为什么不执行?

这里是single-min.js的摘录,以供参考:

console.log('loaded-single');

// Init flickity
$(document).ready(function(){

// Only execute if slideshow block exists
if($('.custom-block.slideshow').length > 0 ){ 

    var slider = ('.custom-block.slideshow .flickity');

    // Init
    $(slider).flickity({
        // Options
        cellSelector: '.carousel-cell',
        cellAlign: 'left',
        imagesLoaded: true,
        adaptiveHeight: true,
        prevNextButtons: true,
        arrowShape: 'M0,49.8l33.1-33.2h27L36.8,39.8h63.3v19.7H36.7l23.5,23.4H33.2L0,49.8z',
        pageDots: false,
        fullscreen: true,
    });
}

1 个答案:

答案 0 :(得分:0)

如果您准确定位了所有目标,那么

var slider = ('.custom-block.slideshow .flickity');

可能是您的问题。试试这个:

var $slider = $('.custom-block.slideshow .flickity');

// Init
$slider.flickity({