我是我的Wordpress(與Buddypress)應用程序我使用一個響應主題。不過,如果屏幕寬度爲< = 768px,我已將菜單更改爲選擇框下拉菜單。選擇框菜單不加載頁面
你可以在下面看到我的想法,這是通過使用兩個wp_nav_menu完成的,其中一個(在walker的幫助下)創建菜單作爲選擇下拉菜單(當然藉助responsive.css )。
但是,我在這裏一個問題,我需要幫助:
的選擇框menulooks正確的,但如果我在菜單沒有什麼改變選項實際情況(即頁面沒有改變)。怎麼來的?
的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>
編輯:我意識到,這呈現的選擇選項不包含任何值,所以我不能搶重定向的期權價值。代碼顯然有些問題,但是什麼?
我已經爲自己工作了,這比我之前使用的解決方案要更加誠實:)看到我的修改後的答案。 – McNab 2013-03-03 15:10:16