Настраиваемые Меню, Виджеты и Условные операторы


Я использую пользовательские виджеты для своего клиента, потому что это просто, и у них есть несколько меню, которые им нужно создать специально для разделов сайта. Затем я хочу разрешить им динамически добавлять в пользовательское меню с помощью виджетов (я создаю пробелы, необходимые для виджета, и они перетаскивают меню в это ведро виджетов).

Я попытался использовать следующий код, но когда должна загружаться левая боковая панель навигации, страница перестает загружаться.

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

} 

Но тогда я застрял без заголовков, которые предоставляют виджеты (которые они хотят). Например: СПОРТ И ФИТНЕС

  • Главная
  • Ссылка 1
  • Ссылка 2
  • Ссылка 3

Помощь была бы весьма признательна. Я пытался разобраться в этом уже пару дней, и это блокирует завершение их сайта.

ТИА!

Author: Justice Is Cheap, 2011-08-05

1 answers

Если вы хотите показывать меню только на дочерних страницах, вам нужно изменить условное выражение:

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

}
 1
Author: Bainternet, 2011-08-05 21:39:56