Wordpress 选择框菜单';无法加载页面
我是我的Wordpress(带Buddypress)应用程序,我使用响应主题。但是,如果屏幕宽度为,我已将菜单更改为选择框下拉菜单Wordpress 选择框菜单';无法加载页面,wordpress,select,drop-down-menu,responsive-design,buddypress,Wordpress,Select,Drop Down Menu,Responsive Design,Buddypress,我是我的Wordpress(带Buddypress)应用程序,我使用响应主题。但是,如果屏幕宽度为,我已将菜单更改为选择框下拉菜单 编辑:我意识到渲染的选择选项不包含任何值,因此我无法获取用于重定向的选项值。代码显然有问题,但什么问题?如果我正确阅读了您的问题,那么缺少的部分是Javascript,当选择“选择”菜单中的一个选项时,它会更改窗口的位置 将以下内容添加到您的onload JS中 $("#responsive-nav select").change(function() {
编辑:我意识到渲染的选择选项不包含任何值,因此我无法获取用于重定向的选项值。代码显然有问题,但什么问题?如果我正确阅读了您的问题,那么缺少的部分是Javascript,当选择“选择”菜单中的一个选项时,它会更改
窗口的位置
将以下内容添加到您的onload JS中
$("#responsive-nav select").change(function() {
window.location = $(this).find("option:selected").val();
});
编辑
好的,实际上我已经把这个应用到了我自己正在做的主题中。我知道你在这个问题上用了一个技巧,小马的回答-
我不确定他们是如何做到的,因为没有url值可以用作导航(正如您所指出的),所以我修改了start\el
方法如下
function start_el(&$output, $item, $depth, $args){
// add spacing to the title based on the depth
$item->title = str_repeat(" ", $depth * 4).$item->title;
parent::start_el(&$output, $item, $depth, $args);
$href = ! empty( $item->url ) ? ' value="' . esc_attr( $item->url ) .'"' : '';
// no point redefining this method too, we just replace the li tag...
$output = str_replace('<li', '<option '.$href, $output);
}
谢谢现在就尝试了,但是没有用,因为很明显选择选项没有任何值(!?)。构建此菜单的代码中显然存在错误。你能看到它是什么吗?太好了,很有魅力!非常感谢。我会尽快给你赏金:)太好了!那太好了,但也许有人会用一个无能的回答冲进来,然后得到那笔赏金;)我已经让这个为我自己工作,它比我以前使用的解决方案要好,老实说:)看看我修改后的答案。
function start_el(&$output, $item, $depth, $args){
// add spacing to the title based on the depth
$item->title = str_repeat(" ", $depth * 4).$item->title;
parent::start_el(&$output, $item, $depth, $args);
$href = ! empty( $item->url ) ? ' value="' . esc_attr( $item->url ) .'"' : '';
// no point redefining this method too, we just replace the li tag...
$output = str_replace('<li', '<option '.$href, $output);
}
<!-- RESPONSIVE NAVIGATION FLIP -->
<form id="responsive-nav" action="" method="post">
<select>
<option value="">Navigation</option>
<?php
$menu = wp_nav_menu(array(
'theme_location' => 'primary',
'walker' => new Walker_Nav_Menu_Dropdown()
));
?>
</select>
</form>
<!-- /END RESPONSIVE NAV -->