Скрыть меню гамбургера на определенной странице на сайте WordPress

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, где я должен разместить функцию / какую функцию использовать?

Спасибо!

0

Решение

Вы должны закрыть раздел 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>
1

Другие решения

Вы смешиваете 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(...) {

Надеюсь это поможет.

1

Вы можете сделать так:

 <?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>
}
?>
1
По вопросам рекламы [email protected]