在我放松心情之前,我真的需要一些帮助。
所以我想为我的wordpress儿童主题实施汉堡包菜单。这个对我来说很好看。 https://github.com/joncoop/hamburger-menu
我下载了zip文件,解压缩到我的电脑试了一下,就像一个魅力。
我将文件上传到我的孩子主题,我按书完成了所有内容。
通过我的functions.php文件,我适当地排列了样式和脚本。
这是我使用的代码:
function NovelLite_child_add_stylesheet() {
if (!is_admin()) {
wp_enqueue_style('hamburger', get_stylesheet_directory_uri() . "/css/main.css", '', '', 'all');
}
}
add_action('wp_enqueue_scripts', 'NovelLite_child_add_stylesheet');
function NovelLite_child_wp_enqueue_scripts() {
wp_enqueue_script('hamburger', get_stylesheet_directory_uri() . "/js/hamburger-menu.js");
wp_enqueue_script('neki', get_stylesheet_directory_uri() . "/js/jquery-2.1.4.min.js");
}
add_action('wp_enqueue_scripts', 'NovelLite_child_wp_enqueue_scripts');
但它只是不起作用。 main.css样式表工作正常,菜单看起来不错,它在移动设备上获取汉堡包按钮,但点击时,它不显示菜单。这告诉我javascript没有按预期工作。所以我想知道可能是什么问题。我花了3天时间把它搞清楚了,我被困住了。
P.S。页面源显示脚本已入队!
请帮忙
提前致谢
答案 0 :(得分:2)
也许问题出现在jQuery中 - 你的菜单需要它,但是你在汉堡包js之后包含它。试试这个:
wp_enqueue_script('hamburger', get_stylesheet_directory_uri() . "/js/hamburger-menu.js", array('jquery'));
告诉WP在jquery
之前加载WP embeded hamburger.js
并将其用于' hamburger.js`。
此外,如果这样做,则无需在此处加载外部jquery:
wp_enqueue_script('neki', get_stylesheet_directory_uri() . "/js/jquery-2.1.4.min.js");
但是,如果您要使用jquery
文件,则必须更改hamburger
排队脚本以使用您的jquery
文件,如下所示:
wp_enqueue_script('hamburger', get_stylesheet_directory_uri() . "/js/hamburger-menu.js", array('neki'));