如何为不同的页面显示不同的菜单?

时间:2011-11-09 作者:Anshul

我有一个网站,其主菜单(顶部水平)如下:

Main menu
 - Home
 - About Us
 - contact us
在主页上,我有一个指向“公司”页面的链接,如www.xyz。com/公司。

当我在本公司页面上时,我希望我的网站更改我的菜单项,并使用以下内容:

Different menu
 - Home (same Home page link that will take user to www.xyz.com)
 - promoters
 - Gallery
 - Maps
我想我可以用wordpress做这个Conditional_Tags, 但我真的不知道该怎么开始。

5 个回复
SO网友:Nicole

你可以这样试试。现在我们讨论的是页面,您可以为需要不同菜单的页面设置单独的模板。WordPress更新的菜单功能非常好。

首先,如果您使用的是WordPress较新的菜单功能,请将其替换为当前菜单:

<?php wp_nav_menu( array( \'container_class\' => \'menu-header\', \'theme_location\' => \'primary\' ) ); ?>
接下来,将其放在要用于页面的模板文件的顶部。这告诉WordPress这是一个页面模板。

<?php
/*
 Template Name: Name your template here
*/
?>
然后将其放置在模板中,您的菜单应用于此模板:

<?php wp_nav_menu( array( \'container_class\' => \'menu-header\', \'theme_location\' =>    \'template_menu\' ) ); ?>
现在我们必须确保它们将被激活。在主题的功能中。php文件您需要放置以下内容:

// This theme uses wp_nav_menu() in two locations.  
register_nav_menus( array(  
  \'primary\' => __( \'Primary Navigation\', \'your_theme_name\' ),  
  \'template_menu\' => __(\'Template Navigation\', \'your_theme_name\')  
) ); 
完成后,您只需转到仪表板>外观>菜单并在那里创建菜单。创建保存后,在左侧,您可以通过下拉菜单选择将菜单放置在何处。

设置完所有这些之后,当您设置新页面时,您所要做的就是选择要使用的模板。

如果你有什么问题,我希望这会有所帮助。

SO网友:David

使用页面-->函数中的自定义字段,在不同页面中使用不同菜单。php

function shortcode_nav_menu_args( $args = \'\' ) {
    //if exist custom fiel cp_menu in page gets the id of menu (number)
    //else gets the default menu
    $menu = get_post_meta(get_the_ID(), \'cp_menu\', true);
    if(isset($menu)) { 
        $args[\'menu\'] = $menu; 
    }
    return $args;
}
add_filter( \'wp_nav_menu_args\', \'shortcode_nav_menu_args\' );

SO网友:afxentios

您可以使用free 插件Conditional Menus. 我在我的项目中使用它,它总是很有魅力!

SO网友:David Gard

条件标记很可能是前进的方向。你怎么称呼你的菜单?wp_list_pages() 我想是吧?

如果是,您可以使用exclude 参数,使用如下内容(显然,根据需要调整页码和条件标记)-

<?php
if(is_front_page()) :
    $exclude = \'10,11,12\';
elseif(is_page(15)) :
    $exclude = \'1,2,3\';
endif;
wp_list_pages(\'title_li=&depth=1&exclude=\' . $exclude);
?>

SO网友:Ashok Kumar Nath

a plugin for this 这看起来很有希望。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph