2017-01-20 3 views
0

Надежда кто-то может помочь,Скрыть содержащий Div, когда нет пунктов меню

Im в настоящее время работает на этом сайте: http://new.leicesterymca.co.uk/youth-community/ Вы можете увидеть на этой странице, что вложенное меню показывает, потому что есть дочерние страницы для отображения. Если вы нажмете «Контакт», меню не отображается.

НО, синий фон ДИВ все еще показывает ...

Вот мой текущий код:

<div class="sub-nav-container-full"> 
    <div class="container"> 
    <div class="sub-page-menu"> 
     <?php 
     $menu = wp_nav_menu(
      array (
       'theme_location' => 'header-menu', 
       'sub_menu' => true, 
       'echo' => FALSE, 
       'fallback_cb' => '__return_false' 
      ) 
     ); 
     if (! empty ($menu)) 
     { 
     ?> 

     <?php 
      echo $menu; 
     } 
     ?> 
    </div> 
    </div> 
</div> 

Как бы я изменить его, чтобы сказать «если нет подменю, то не скрывают, содержащий DIV ;

<div class="sub-nav-container-full"></div> 

Чтобы избавиться от синей полоски ...

Надежда кто-то может помочь :)

Большого спасибо,

Шона.

ответ

0

Вариант № 1, содержащий DIV создается только при необходимости:

<?php 
    $menu = wp_nav_menu(
     array (
     'theme_location' => 'header-menu', 
     'sub_menu' => true, 
     'echo' => FALSE, 
     'fallback_cb' => '__return_false' 
    ) 
); 
    if (! empty ($menu)) 
    { 
    echo '<div class="sub-nav-container-full"> 
      <div class="container"> 
      <div class="sub-page-menu">'; 
    echo $menu; 
    echo '</div></div></div>'; 
    } 
?> 

Вариант № 2: Содержит DIV всегда существует, но скрыт, если пусто. Добавить else блок так:

// same as before 
    if (! empty ($menu)) 
    { 
    // same as before 
    } 
    else 
    { 
    echo '<div class="sub-nav-container-full" style="display: none;"> 
      <div class="container"> 
      <div class="sub-page-menu">'; 
    echo '</div></div></div>'; 
    } 

Рассмотрите возможность использования visibility: hidden вместо display: none. Элемент не будет отображаться, но он по-прежнему занимает место в макете.

Вариант №2 можно легко оптимизировать, уменьшая повторяющиеся линии.

0

Try так:

<div class="sub-nav-container-full"> 
    <div class="container"> 
     <?php 
     $menu = wp_nav_menu(
      array (
       'theme_location' => 'header-menu', 
       'sub_menu' => true, 
       'echo' => FALSE, 
       'fallback_cb' => '__return_false' 
      ) 
     ); 
     if (! empty ($menu)) 
     { 
      echo '<div class="sub-page-menu">'.$menu.'</div>'; 
     } 
     ?> 
    </div> 
</div> 
Смежные вопросы