如何更改小部件菜单容器
How to change widget menu container
如果我将 dynamic_sidebar() 添加到主题并在管理面板中插入菜单小部件,wp 会生成这样的结构:
<div id="nav_menu" class="widget widget_nav_menu">
<div class="menu-container">
<ul id="menu" class="menu">
<li id="#" class="menu-item">
<a href="#">Item 1</a>
</li>
<li id="#" class="menu-item">
<a href="#">Item 2</a>
</li>
<li id="#" class="menu-item">
<a href="#">Item 3</a>
</li>
</ul>
</div>
</div>
如何将容器更改为导航?
我想像这样添加 Shema
<div id="nav_menu" class="widget widget_nav_menu" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<nav class="menu-container">
<ul id="menu" class="menu">
<li id="#" class="menu-item" itemprop="name">
<a href="#" itemprop="url">Item 1</a>
</li>
<li id="#" class="menu-item" itemprop="name">
<a href="#" itemprop="url">Item 2</a>
</li>
<li id="#" class="menu-item" itemprop="name">
<a href="#" itemprop="url">Item 3</a>
</li>
</ul>
</nav>
</div>
感谢回答)
要更改菜单容器,请使用过滤器钩子wp_nav_menu_args
将以下代码粘贴到当前活动主题 functions.php 文件
function my_nav_menu_args( $args = '' ) {
if( 'primary' == $args['theme_location'] )
{
if ( $args['container'] == 'div' ) {
$args['container'] = 'nav';
}
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_nav_menu_args' );
更多帮助:click Here
您可以使用 preg_replace 替换标签。
function change_submenu_class($menu) {
$menu = preg_replace('/<div id="nav_menu" class="widget widget_nav_menu">/','/<div id="nav_menu" class="widget widget_nav_menu" itemscope itemtype="http://www.schema.org/SiteNavigationElement">/',$menu);
return $menu;
}
add_filter('wp_nav_menu','change_submenu_class');
li 和您要更改的其他标签的相同 preg_replace 函数。
如果我将 dynamic_sidebar() 添加到主题并在管理面板中插入菜单小部件,wp 会生成这样的结构:
<div id="nav_menu" class="widget widget_nav_menu">
<div class="menu-container">
<ul id="menu" class="menu">
<li id="#" class="menu-item">
<a href="#">Item 1</a>
</li>
<li id="#" class="menu-item">
<a href="#">Item 2</a>
</li>
<li id="#" class="menu-item">
<a href="#">Item 3</a>
</li>
</ul>
</div>
</div>
如何将容器更改为导航? 我想像这样添加 Shema
<div id="nav_menu" class="widget widget_nav_menu" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<nav class="menu-container">
<ul id="menu" class="menu">
<li id="#" class="menu-item" itemprop="name">
<a href="#" itemprop="url">Item 1</a>
</li>
<li id="#" class="menu-item" itemprop="name">
<a href="#" itemprop="url">Item 2</a>
</li>
<li id="#" class="menu-item" itemprop="name">
<a href="#" itemprop="url">Item 3</a>
</li>
</ul>
</nav>
</div>
感谢回答)
要更改菜单容器,请使用过滤器钩子wp_nav_menu_args
将以下代码粘贴到当前活动主题 functions.php 文件
function my_nav_menu_args( $args = '' ) {
if( 'primary' == $args['theme_location'] )
{
if ( $args['container'] == 'div' ) {
$args['container'] = 'nav';
}
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'my_nav_menu_args' );
更多帮助:click Here
您可以使用 preg_replace 替换标签。
function change_submenu_class($menu) {
$menu = preg_replace('/<div id="nav_menu" class="widget widget_nav_menu">/','/<div id="nav_menu" class="widget widget_nav_menu" itemscope itemtype="http://www.schema.org/SiteNavigationElement">/',$menu);
return $menu;
}
add_filter('wp_nav_menu','change_submenu_class');
li 和您要更改的其他标签的相同 preg_replace 函数。