【问题标题】:Hide Hamburger Menu on Specific Page in WordPress Site在 WordPress 网站的特定页面上隐藏汉堡菜单
【发布时间】:2017-04-07 01:11:24
【问题描述】:

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>

您可以看到我已经告诉它不要在首页(也是主页)上显示导航菜单,并且它正确地执行了此操作 - 但是我如何对汉堡菜单执行相同的操作?

我按照this tutorial 中的说明创建了我的汉堡菜单。如果我尝试复制告诉浏览器在除首页/主页之外的所有其他页面上显示导航菜单的 PHP if 语句,然后将其粘贴到类和 id 为“menu-btn”的 div 之前,我得到语法错误:

<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 jquery css wordpress hamburger-menu


    【解决方案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>
     } 
     ?>
    

    【讨论】:

      【解决方案2】:

      您正在将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 中有&lt;div&gt;...&lt;/div&gt;。 你需要先关闭你的php-section,然后发布你的html,然后你必须结束你的if

      您只需要在if(...) { 后面加上一个?&gt;

      希望这会有所帮助。

      【讨论】:

      • 是的,有道理 - 现在我知道如何正确关闭 PHP 部分/结束 If 语句!
      【解决方案3】:

      在打印 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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-06
        • 2019-10-30
        • 2019-04-19
        • 2018-11-09
        • 2018-05-18
        • 2021-10-20
        • 2023-04-01
        • 1970-01-01
        相关资源
        最近更新 更多