Мое меню гамбургеров работает правильно на всех других страницах — я просто не хочу, чтобы оно отображалось на домашней странице, где оно в настоящее время отображается в 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, где я должен разместить функцию / какую функцию использовать?
Спасибо!
Вы должны закрыть раздел 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>
}
?>