在 Wordpress 中,如何使用 wp_nav_menu 在所有子菜单 li 中添加按钮或 div?
这是我当前的代码:
<?php wp_nav_menu(array(
'theme_location' => 'main_menu',
'items_wrap'=>'%3$s',
'container' => false
)); ?>
这是我想要的输出:
<li class="submenu">
<a>Link 1</a>
<ul>
<li><a>Link 2</a></li>
</ul>
<button type="button">Click Me!</button>
</li>
最佳答案
所以,使用 Custom Walkers 有点麻烦,直到你理解它们。
下面的自定义 walker 代码应该可以满足您的需求。将此添加到您主题的 functions.php
文件中:
class Custom_Button_Walker extends Walker_Nav_Menu {
// We only care about the "end level" part of the menu, where closing </ul> tags are generated
public function end_lvl( &$output, $depth = 0, $args = array() ) {
// This is from WP core code
$indent = str_repeat("\t", $depth);
// This line ensures we only add it on the proper level
$button = (0 == $depth) ? "{$indent}<button type=\"button\">Click Me!</button>\n" : '';
// This line is modified to include the button markup
$output .= "{$indent}</ul>\n{$button}";
}
}
要使用自定义 walker,请像这样修改您的
wp_nav_menu
调用:wp_nav_menu( array(
'theme_location' => 'main_menu',
'items_wrap' =>'%3$s',
'container' => FALSE,
'walker' => new Custom_Button_Walker()
));
关于php - 在 Wordpress 中更改子菜单换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39089597/