php - 如何更改小部件菜单容器

标签 php wordpress navigation widget sidebar

如果我将 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>

感谢回答)

最佳答案

要更改菜单容器,请使用过滤器钩子(Hook) 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

关于php - 如何更改小部件菜单容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52867117/

相关文章:

php - Doctrine 2 具有一对多关系的实体

php - 从一个数据库中的多个表中选择最新记录(MYSQL PHP)

javascript - 在一定时间后更改自定义字段

javascript - 谷歌地图api v3空白页,添加api没有解决

html - MenuToggle 不会显示响应式导航栏

php - AWS SNS 发布的消息未推送到设备

php - WordPress 上的连接问题太多,使用数据库缓存,非共享主机

javascript - Ajax 成功函数未运行

android Intent 导航到多个目的地?

python - 用于浏览网站的合适 Python 模块