在我失去理智之前,我真的需要一些帮助。
所以我想为我的 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 天时间弄明白了,但我被卡住了。
附言页面源显示脚本已入队!
请帮忙
提前致谢
最佳答案
也许问题出在 jQuery 中 - 您的菜单需要它,但您将它包含在 hamburger js 之后。试试这个:
wp_enqueue_script('hamburger', get_stylesheet_directory_uri() . "/js/hamburger-menu.js", array('jquery'));
告诉 WP 在 hamburger.js
之前加载 WP 嵌入的 jquery
并将其用于 'hamburger.js`。
此外,如果这可行,则无需在此处加载外部 jquery:
wp_enqueue_script('neki', get_stylesheet_directory_uri() . "/js/jquery-2.1.4.min.js");
但是如果你想使用你的 jquery
文件必须改变 hamburger
enqueue 脚本来使用你的 jquery
文件,像这样:
wp_enqueue_script('hamburger', get_stylesheet_directory_uri() . "/js/hamburger-menu.js", array('neki'));
关于javascript - 如何将javascript排入wordpress子主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35311762/