wp_enqueue_script没有加载依赖项

时间:2017-06-16 15:58:48

标签: javascript php jquery wordpress

我正在开发的wordpress插件无法引入jquery依赖项,尽管它在wp_enqueue_scripts函数的第三个参数中传递。使用谷歌浏览器上的检查功能显示此错误:“$不是一个函数”,所以我假设没有正确加载jquery。当显示“here”时,将访问js文件。任何帮助将不胜感激!

PHP管理页面:

function kent_sidebar_plugin_scripts(){
wp_enqueue_script('kent_sidebar_process', 
plugin_dir_url(__FILE__).'inc/process.js', array('jquery'));
}

function kent_sidebar_add_admin_page(){

add_menu_page('Kent Sidebar Options', 'Kent Sidebar', 'manage_options', 
'kent_sidebar', 'kent_sidebar_options');

}

add_action('admin_menu', 'kent_sidebar_add_admin_page');
add_action('admin_enqueue_scripts', 'kent_sidebar_plugin_scripts');


function kent_sidebar_options(){

require_once("inc/kent-sidebar-admin.php");

 }

JS档案:

window.alert("here");

$(document).ready(function(){

$('#editSidebar').onclick(function(){

    var optionVal = $('#sidebarList').find(":selected").text();
    alert(optionVal);

})

});

2 个答案:

答案 0 :(得分:1)

如果您通过插件加载脚本,jQuery有时不会通过$来定义,您必须通过函数手动传递它。所以这样的事情应该解决它:

window.alert("here");

    jQuery(document).ready(function($){

        $('#editSidebar').on("click",function(){

            var optionVal = $('#sidebarList').find(":selected").text();
            alert(optionVal);

        })
    });

同样onclick不是jQuery方法,我认为你在寻找.on()

答案 1 :(得分:1)

与WordPress一起打包的Jquery附带兼容模式,因此使用$ as别名的任何其他JS都可以一起运行。您可以使用jQuery包装器以$ eg。

添加代码

(function($) { // your code with $ })( jQuery );

或者您可以在JS文件的顶部添加var $ = jQuery.noConflict();