【问题标题】:How to exclude pages from nav menu如何从导航菜单中排除页面
【发布时间】:2015-07-13 21:11:00
【问题描述】:

如何从导航菜单中排除页面?我发现了一些示例,其中将名为“exclude”的字段添加到 args 中,据报道它有效。也许它只是被弃用了。我有 4.1.5 版。

我当前的代码是:

$avia_theme_location = 'avia';
$avia_menu_class = $avia_theme_location . '-menu';
$args = array(
    'theme_location' => $avia_theme_location,
    'menu_id' => $avia_menu_class,
    'exclude' => '29, 30, 31, 32',
    'menu_class' => 'menu av-main-nav',
    'container_class' => $avia_menu_class.' av-main-nav-wrap'.$icon_beside,
    'fallback_cb' => 'avia_fallback_menu',
    'walker' => new avia_responsive_mega_menu()
);

wp_nav_menu($args);

其中 29、30、31 和 32 是我要排除的页面 ID,它们是正确的。

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    你可以使用这个:

    $args = array(
        // Other values,
        'exclude' => array(29,30,31,32) // <-- Addedd ids to exclude
    );
    
    wp_nav_menu($args);
    

    【讨论】:

      【解决方案2】:

      你可以试试这个。 而不是

      'exclude' => '29, 30, 31, 32',
      

      试试,

      'post__not_in' => array( 29, 30, 31, 32 ),
      

      这是wordpress official site

      【讨论】:

      • 但在我的情况下不起作用。最后我找到了自己的解决方案。不过谢谢你的回答。
      【解决方案3】:

      其实我自己解决了。这很重要: 'fallback_cb' => 'avia_fallback_menu'

      我想在 Enfold 主题中排除 Woocommerce 页面。所以我在文件 class-megamenu.php 中找到了回调函数,我现在看起来像这样:

      function avia_fallback_menu()
      {
          $current = "";
          $exclude= (avia_get_option('frontpage').",".get_option( 'woocommerce_shop_page_id' ).",".get_option( 'woocommerce_cart_page_id' ).",".get_option( 'woocommerce_checkout_page_id' ).",".get_option( 'woocommerce_myaccount_page_id' ));
          if (is_front_page()){$current = "class='current-menu-item'";}
          if ($exclude) $exclude ="&exclude=".$exclude;
          echo "<div class='fallback_menu av-main-nav-wrap'>";
          echo "<ul class='avia_mega menu av-main-nav'>";
          echo "<li $current><a href='".get_bloginfo('url')."'>".__('Domov','avia_framework')."</a></li>";
          wp_list_pages('title_li=&sort_column=menu_order'.$exclude);
          echo apply_filters('avf_fallback_menu_items', "", 'fallback_menu');
          echo "</ul></div>";
      }
      

      【讨论】:

        猜你喜欢
        • 2014-10-16
        • 1970-01-01
        • 2017-07-24
        • 2018-11-27
        • 2013-11-30
        • 2021-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多