我是我的 Wordpress(使用 Buddypress)应用程序,我使用响应式主题。但是,如果屏幕宽度 <= 768px,我已将菜单更改为选择框下拉菜单。
您可以在下面看到我这样做的想法,这是通过使用两个 wp_nav_menu 来完成的,其中一个(在步行者的帮助下)将菜单创建为选择下拉菜单(当然在 responsive.css 的帮助下)。
但是,我在这里遇到问题需要帮助:
选择框菜单看起来是正确的,但如果我更改菜单中的选项,实际上什么也没有发生(即页面没有改变)。怎么来的?
header.php:
<div id="navigation" role="navigation">
<?php
<?php
wp_nav_menu( array(
'container' => false,
'menu_id' => 'nav',
'theme_location' => 'primary',
'fallback_cb' => 'bp_dtheme_main_nav' )
);
wp_nav_menu(array(
'container' => false,
'menu_id' => 'nav',
'theme_location' => 'primary', // your theme location here
'walker' => new Walker_Nav_Menu_Dropdown(),
'items_wrap' => '<select>%3$s</select>',
'fallback_cb' => 'bp_dtheme_main_nav'
));
class Walker_Nav_Menu_Dropdown extends Walker_Nav_Menu{
function start_lvl(&$output, $depth){
$indent = str_repeat("\t", $depth);
}
function end_lvl(&$output, $depth){
$indent = str_repeat("\t", $depth);
}
function start_el(&$output, $item, $depth, $args){
$item->title = str_repeat(" ", $depth * 4).$item->title;
parent::start_el(&$output, $item, $depth, $args);
$output = str_replace('<li', '<option', $output);
}
function end_el(&$output, $item, $depth){
$output .= "</option>\n";
}
} ?>
</div>
编辑:我已经意识到呈现的选择选项不包含任何值,所以我无法获取重定向的选项值。代码显然有问题,但是什么?