Скрыть меню гамбургера на определенной странице в WordPress сайте
http://thehamburgercollection.com/
Мое меню гамбургеров работает правильно на всех других страницах - я просто не хочу, чтобы оно отображалось на домашней странице, где оно в настоящее время отображается в 768 пикселей и ниже.
В footer.php находится меню:
<div class="mobile-nav">
<div class="menu-btn" id="menu-btn">
<div></div>
<span></span>
<span></span>
<span></span>
</div>
<div class="responsive-menu">
<?php
if ( ! is_front_page() && ! is_home() ) {
wp_nav_menu();
}
?>
</div>
</div>
Вы можете видеть, что я сказал ему не отображать меню навигации на главной странице (которая также является домашней страницей), и он делает это правильно - но как мне сделать то же самое с меню гамбургера?
Я следовал инструкциям в этом уроке, чтобы создать меню для гамбургеров. Если я попытаюсь скопировать оператор PHP if, который говорит браузеру отображать меню Nav на всех других страницах, кроме главной страницы / домашней страницы, а затем вставить его непосредственно перед div с class и id "menu-btn", я получаю синтаксическая ошибка:
<div class="mobile-nav">
<?php if ( ! is_front_page() && ! is_home() ) {
<div class="menu-btn" id="menu-btn">
<div></div>
<span></span>
<span></span>
<span></span>
</div>
}
?>
<div class="responsive-menu">
<?php
if ( ! is_front_page() && ! is_home() ) {
wp_nav_menu();
}
?>
</div>
</div>
Я не уверен, есть ли способ скрыть меню гамбургера на определенной странице с помощью CSS, или, если мне нужно использовать PHP или JS, где я должен разместить функцию / какую функцию использовать?
Спасибо!
3 ответа
Вы должны закрыть раздел PHP-кода, прежде чем печатать HTML-код.
<div class="mobile-nav">
<?php if ( ! is_front_page() && ! is_home() ) : ?>
<div class="menu-btn" id="menu-btn">
<div></div>
<span></span>
<span></span>
<span></span>
</div>
<?php endif; ?>
<div class="responsive-menu">
<?php
if ( ! is_front_page() && ! is_home() ) {
wp_nav_menu();
}
?>
</div>
</div>
Вы смешиваете HTML
с вашим PHP
,
Попробуй это:
<?php if ( ! is_front_page() && ! is_home() ) { ?>
<div class="menu-btn" id="menu-btn">
<div></div>
<span></span>
<span></span>
<span></span>
</div>
<?php } ?>
Объяснение:
Как вы можете видеть, у вас есть <div>...</div>
внутри вашего PHP
, Вам нужно сначала закрыть свой php-section
, а затем опубликовать свой html
, а затем вы должны положить конец if
,
Вам просто нужно ?>
после вашего if(...) {
Надеюсь это поможет.
Вы можете сделать так:
<?php if ( ! is_front_page() && ! is_home() ) {
<div class="mobile-nav">
<div class="menu-btn" id="menu-btn">
<div></div>
<span></span>
<span></span>
<span></span>
</div>
<div class="responsive-menu">
<?php
wp_nav_menu();
?>
</div>
</div>
}
?>