一段时间以来,我一直在wordpress主题中成功使用jpanelmenu,从google api加载jquery,如下所示:
if ( !is_admin() ) {
// jQuery
wp_deregister_script(\'jquery\');
wp_register_script(\'jquery\', ("http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"), false);
wp_enqueue_script(\'jquery\');
// load jPanelMenu
wp_enqueue_script(\'jpanelmenu\', get_bloginfo(\'template_directory\') . "/js/jquery.jpanelmenu.js");
}
我宁愿使用wordpress附带的jquery版本,但不知道如何实现。有谁能告诉我如何做到这一点,或者告诉我,如果我认为使用wp的内置jquery会比我在上面代码中所做的更好,那我是不是错了?
我是这样实例化jpanelmenu的:
$(document).ready(function () {
var jPM = $.jPanelMenu({
duration: 100,
openPosition: "240px",
direction: "left",
keyboardShortcuts: false
});
jPM.on(); // turn on jPanelMenu
});
提前感谢!
edited
根据下面的答案,我尝试了以下方法,但jpanelmenu无法运行(单击菜单触发器不会显示画布外菜单):
function wpa_132328_enqueue_scripts(){
if ( !is_admin() ) {
// jQuery
wp_enqueue_script(\'jquery\');
// load jPanelMenu
wp_enqueue_script(\'jpanelmenu\', get_bloginfo(\'template_directory\') . "/js/jquery.jpanelmenu.js");
}
}
add_action( \'wp_enqueue_scripts\', \'wpa_132328_enqueue_scripts\' );
以及
if ( !is_admin() ) {
// jQuery
wp_enqueue_script(\'jquery\');
// load jPanelMenu
wp_enqueue_script(\'jpanelmenu\', get_bloginfo(\'template_directory\') . "/js/jquery.jpanelmenu.js");
}
以及
wp_enqueue_script(\'jpanelmenu\', get_bloginfo(\'template_directory\') . "/js/jquery.jpanelmenu.js", array(\'jquery\') );
以及
if ( !is_admin() ) {
wp_enqueue_script(\'jpanelmenu\', get_bloginfo(\'template_directory\') . "/js/jquery.jpanelmenu.js", array(\'jquery\') );
}
最合适的回答,由SO网友:helgatheviking 整理而成
要使用WordPress捆绑版,只需停止对其进行反注册并将其替换为Google版本即可。
function wpa_132328_enqueue_scripts(){
if ( !is_admin() ) {
// jQuery
wp_enqueue_script(\'jquery\');
// load jPanelMenu
wp_enqueue_script(\'jpanelmenu\', get_bloginfo(\'template_directory\') . "/js/jquery.jpanelmenu.js");
}
}
add_action( \'wp_enqueue_scripts\', \'wpa_132328_enqueue_scripts\' );
“$未定义”错误表示您不在
noconflict mode. 按如下方式调整代码:
jQuery(document).ready(function ($) {
var jPM = $.jPanelMenu({
duration: 100,
openPosition: "240px",
direction: "left",
keyboardShortcuts: false
});
jPM.on(); // turn on jPanelMenu
});