在通过 wp_enqueue_script 调用的 js 文件中,我有这个:
jQuery(function () {
jQuery("<select />").appendTo("#primary_menu_mobile");
jQuery("<option />", {
"selected": "selected",
"value": "",
"text": "Go to..."
}).appendTo("#primary_menu_mobile select");
jQuery("#primary_menu_mobile a").each(function () {
var el = jQuery(this);
jQuery("<option />", {
"value": el.attr("href"),
"text": el.text()
}).appendTo("#primary_menu_mobile select");
});
jQuery("#primary_menu_mobile select").change(function () {
window.location = jQuery(this).find("option:selected").val();
});
});
在我的 header.php 中,我调用这样的菜单:
<?php wp_nav_menu( array(('container_id' => 'primary_menu_mobile')); ?>
输出是我手机上显示的两个菜单。一种是清单。所有链接都可以正常工作。另一个是具有相同菜单链接的下拉菜单。这里的所有链接也可以正常工作。我是否应该像我的主要导航一样为移动性制作一个单独的菜单和 wordpress 并调用它?我对为什么菜单打印两次感到困惑。我重命名了 js 文件以查看没有 jquery 会发生什么,并且列表 ul 菜单仍然显示。