首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免wp_nav_menu() ID冲突?

如何避免wp_nav_menu() ID冲突?
EN

WordPress Development用户
提问于 2012-06-15 18:08:21
回答 1查看 4.4K关注 0票数 7

如果在同一页上使用同一菜单两次,如何避免ID冲突。

第一

代码语言:javascript
复制
wp_nav_menu( array( 'sort_column' => 'menu_order', 
'theme_location'=>'menu', 'menu_class'=>'menu', 'menu_id'=>'menu' ) );

第二:

代码语言:javascript
复制
wp_nav_menu( array( 'sort_column' => 'menu_order', 
'theme_location'=>'menu', 'menu_class'=>'menu2', 'menu_id'=>'menu2' ) );

ID冲突就像“重复ID菜单-条目-2456”.有什么解决办法吗?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2012-06-15 18:32:32

解决方案是不要多次调用同一个'theme_location'。主题位置用于表示模板中的显式位置。

只需为要显示导航菜单的模板中的每个单独位置注册一个单独的'theme_location'即可。

将所选的'theme_location'名称视为语义名称,表示菜单的模板位置。您可以使用'primary''secondary',或者'header''footer'等等:

代码语言:javascript
复制
<?php
function wpse55380_setup_theme() {

    // Register nav menu locations
    register_nav_menus( array(
        'header' => 'Header Menu',
        'footer' => 'Footer Menu'
    ) );
}
add_action( 'after_setup_theme', 'wpse55380_setup_theme' ); 

...or:

代码语言:javascript
复制
<?php
function wpse55380_setup_theme() {

    // Register nav menu locations
    register_nav_menus( array(
        'primary'   => 'Primary Header Menu',
        'secondary' => 'Secondary Header Menu'
    ) );
}
add_action( 'after_setup_theme', 'wpse55380_setup_theme' ); 

然后,由最终用户为每个主题位置分配自定义菜单。

票数 2
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/55380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档