在 WordPress 站点的特定页面上隐藏汉堡菜单
Hide Hamburger Menu on Specific Page in WordPress Site
我的汉堡菜单在所有其他页面上都能正常工作 - 我只是不想让它显示在主页上,它目前在 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>
你可以看到我已经告诉它不要在首页(也是主页)上显示导航菜单,它做的是正确的 - 但我如何对汉堡包做同样的事情菜单?
我按照 this tutorial 中的说明创建了我的汉堡菜单。如果我尝试复制 PHP if 语句告诉浏览器在除首页/主页之外的所有其他页面上显示导航菜单,然后将其粘贴到 div 之前 [=33] =] 和 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,我应该放在哪里函数/我应该使用什么函数?
谢谢!
您必须在打印 HTML 代码之前关闭 php 代码部分。
<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 } ?>
解释:
如您所见,PHP
中有 <div>...</div>
。
您需要先关闭您的 php-section
,然后是 post 您的 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>
}
?>
我的汉堡菜单在所有其他页面上都能正常工作 - 我只是不想让它显示在主页上,它目前在 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>
你可以看到我已经告诉它不要在首页(也是主页)上显示导航菜单,它做的是正确的 - 但我如何对汉堡包做同样的事情菜单?
我按照 this tutorial 中的说明创建了我的汉堡菜单。如果我尝试复制 PHP if 语句告诉浏览器在除首页/主页之外的所有其他页面上显示导航菜单,然后将其粘贴到 div 之前 [=33] =] 和 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,我应该放在哪里函数/我应该使用什么函数?
谢谢!
您必须在打印 HTML 代码之前关闭 php 代码部分。
<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 } ?>
解释:
如您所见,PHP
中有 <div>...</div>
。
您需要先关闭您的 php-section
,然后是 post 您的 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>
}
?>