Надеюсь, кто-то может помочь,
Сейчас я работаю над этим сайтом: http://new.leicesterymca.co.uk/youth-community/ На этой странице вы можете видеть, что отображается подменю, потому что есть дочерние страницы для показа. Если вы нажмете «Контакт», меню не появится.
НО, синий фон div все еще показывает …
Вот мой текущий код:
<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>
Чтобы избавиться от синей полосы …
Надеюсь, кто-то может помочь 🙂
Большое спасибо,
Shaun.
Попробуйте вот так:
<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>
Вариант № 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 может быть легко оптимизирован, сокращая количество повторяющихся строк.