自定义菜单、小部件和条件语句

时间:2011-08-05 作者:Justice Is Cheap

我正在为我的客户使用自定义小部件,因为这很容易,而且他们有几个菜单,需要创建特定于站点部分的菜单。然后,我希望允许他们使用小部件动态地添加到自定义菜单中(我为小部件创建所需的空间,然后他们将菜单拖放到小部件桶中)。

我尝试使用以下代码,但当左侧导航侧栏应该加载时,页面停止加载。

if (is_page( \'sport-fitness\' ) || \'269\' == $post->post_parent){
//menu for Sport & Fitness pages

<div id="seventh" class="widget-area" role="complementary">
        <?php dynamic_sidebar( \'sidebar-7\' ); ?>
    </div><!-- #second .widget-area -->

}elseif(is_page( \'eat-smart\' ) || \'118\' == $post->post_parent){
//menu for Eat Smart pages

<div id="eighth" class="widget-area" role="complementary">
    <?php dynamic_sidebar( \'sidebar-8\' ); ?>
</div><!-- #second .widget-area -->

}else{
//default menu

}
自定义菜单需要显示在所有子页面上(但不是父页面,因为父页面使用不同的布局)。我在上面做了什么错事?

我要做的是:

if (is_page( \'sport-fitness\' ) || \'269\' == $post->post_parent){
//menu for Sport & Fitness pages

wp_nav_menu( array(\'menu\' => \'sport-fitness\' ));

}elseif(is_page( \'eat-smart\' ) || \'118\' == $post->post_parent){
//menu for Eat Smart pages

wp_nav_menu( array(\'menu\' => \'eat-smart\' ));

}else{
//default menu

} 
但是,如果没有这些小部件提供的标题(它们需要),我就会陷入困境。例如:SPORT & FITNESS

非常感谢主页链接1和链接2的帮助。几天来,我一直在努力解决这个问题,这对完成他们的网站是一个阻碍。

TIA!

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

如果只想在子页面上显示菜单,则需要更改条件语句:

global $post;
//only on children of 269
if (\'269\' == $post->post_parent){
//menu for Sport & Fitness pages
?>
<div id="seventh" class="widget-area" role="complementary">
        <?php dynamic_sidebar( \'sidebar-7\' ); ?>
    </div><!-- #second .widget-area -->
<?php
//only on children of 118
}elseif( \'118\' == $post->post_parent){
//menu for Eat Smart pages
?>
<div id="eighth" class="widget-area" role="complementary">
    <?php dynamic_sidebar( \'sidebar-8\' ); ?>
</div><!-- #second .widget-area -->
<?php
//everything else including parent pages
}else{
//default menu

}

结束

相关推荐

在wp_menus3中应用我自己的css类?

具有以下功能:class my_walker extends Walker_Nav_Menu { function start_el(&$output, $item, $depth, $args) { global $wp_query; $indent = ( $depth ) ? str_repeat(\"\\t\", $depth) : \'\';