我想制作一个自定义菜单,它将是一个选择框,
我注册了自定义菜单:
add_action( \'init\', \'register_my_menu\' );
function register_my_menu() {
register_nav_menu( \'primary\', \'Primary Menu\' );
}
我使用以下方法向标题添加了自定义菜单爬虫:
How to use wp_nav_menu to create a select menu dropdown? <nav class="page-name">
<?php
class Walker_Nav_Menu_Dropdown extends Walker_Nav_Menu{
function start_lvl(&$output, $depth){
$indent = str_repeat("\\t", $depth); // don\'t output children opening tag (`<ul>`)
}
function end_lvl(&$output, $depth){
$indent = str_repeat("\\t", $depth); // don\'t output children closing tag
}
function start_el(&$output, $item, $depth, $args){ // add spacing to the title based on the depth
$item->title = str_repeat(" ", $depth * 2).$item->title;
parent::start_el(&$output, $item, $depth, $args);
// no point redefining this method too, we just replace the li tag...
$output = str_replace(\'<li\', \'<option\', $output);
}
function end_el(&$output, $item, $depth){
$output .= "</option>\\n"; // replace closing </li> with the option tag
}
}
wp_nav_menu(array(
\'theme_location\' => \'primary\', // your theme location here
\'walker\' => new Walker_Nav_Menu_Dropdown(),
\'items_wrap\' => \'<select>%3$s</select>\',
));
?>
</nav>
并在WP Admin中创建了自定义菜单
但菜单仍然没有显示。我错过了什么?
Update<很明显,爬虫函数确实会产生输出,但当我使用register_nav_menu( \'primary\', \'Primary Menu\' );
我有一份工作菜单。
<nav class="page-name">
<div class="menu">
<ul>
<option id="menu-item-54" class="menu-item-54"><a></a></option>
<option id="menu-item-24" class="menu-item-24"><a></a></option>
<option id="menu-item-30" class="menu-item-30"><a></a></option>
<option id="menu-item-18" class="menu-item-18"><a></a></option>
<option id="menu-item-22" class="menu-item-22"><a></a></option>
<option id="menu-item-26" class="menu-item-26"><a></a></option>
<option id="menu-item-13" class="menu-item-13"><a></a></option>
<option id="menu-item-28" class="menu-item-28"><a></a></option>
<option id="menu-item-15" class="menu-item-15"><a></a></option>
<option id="menu-item-2" class="menu-item-2"><a></a></option>
<option id="menu-item-20" class="menu-item-20"><a></a></option>
</ul>
</div>
</nav>
这是我在twenteleven主题中使用完全相同的函数时得到的结果(这是我想要的):
<nav class="page-name">
<div class="menu-nav-menu-container">
<select>
<option id="menu-item-59" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-59">Sample Page </option>
<option id="menu-item-60" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-60"> News</option>
<option id="menu-item-65" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-65">About </option>
<option id="menu-item-62" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-62"> Contact Us</option>
<option id="menu-item-63" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-63"> Our Location</option>
<option id="menu-item-61" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-61">History</option>
<option id="menu-item-64" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-64">Links</option>
</select>
</div>
</nav>
Update我解决了这个问题。显然,自定义菜单是在我使用另一个主题时选择的,我假设每个主题都会使用它。哦,不!我必须为每个主题分别选择自定义菜单。