javascript - 如何将javascript排入wordpress子主题

标签 javascript php jquery css wordpress

在我失去理智之前,我真的需要一些帮助。

所以我想为我的 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/

相关文章:

javascript - 自动滚动不适用于树面板

php - CodeIgniter:在一个循环中显示两个表中的数据

jquery在Chrome上获取输入文件值

php - 在 Codeigniter 中从内部 View 调用 Controller 方法

php - Laravel 5.2 - 如何返回 PDF 作为 JSON 响应的一部分

javascript - 为什么我的 jQuery 事件处理程序的执行会导致页面滚动回顶部?

javascript - ScrollTop 在 DIV 中不起作用并溢出 :hidden

javascript - 谷歌地图 API

javascript - 启用 CSP 时应避免哪些与 eval() 相关的函数?

javascript - 更改 Google map 上路线的默认标记