【问题标题】:menu contitional based on category基于类别的菜单条件
【发布时间】:2018-04-08 10:52:15
【问题描述】:

我正在尝试通过在特定类别处于活动状态时更改菜单项来更改菜单中的菜单项。这是我能得到的最接近的,但它不起作用。

<?php if( is_category(array('commercial','commercial-filtration','commercial-water-softeners','reverse-osmosis'),'category') ) { ?>
      menu='commercial'
<?php  } else { ?>
      menu='primary'
  <?php } ?>

【问题讨论】:

  • 如果函数在循环外使用,我假设在你的 header.php 文件中,然后使用这个函数传递它的帖子 ID get_the_category($post_id) 来获取当前的类别邮政。然后您可以遍历返回的类别并检查您指定的那些名称。
  • 我正在尝试在我的 functions.php 文件中使用它
  • 然后显示整个代码,以便我可以帮助您,如果我看不到整个图片,那就很难了。
  • @cboy 这可能通过您的菜单参数。查看我在 wp 中测试过的代码

标签: wordpress menu conditional categories


【解决方案1】:

将此代码用于基于条件的菜单。 (使用register_nav_menus() 创建主题位置)

<?php  
$menu_name = ( is_category(array('commercial','commercial-filtration','commercial-water-softeners','reverse-osmosis' ))) ? 'primary' : 'footermenu'; ?> 

    <?php if (has_nav_menu($menu_name)) : ?>
        <nav>
            <?php
            wp_nav_menu(array(
                'theme_location' => $menu_name,
                'container' => '',
                'container_class' => '',
                'container_id' => '',
                'menu_class' => 'enumenu_ul menu',
                'depth' => 2,
            ));
            ?>
        </nav>
    <?php endif; ?>

【讨论】:

    【解决方案2】:

    我最终使用了条件菜单插件。我不明白为什么当我提出有效问题时,人们会点击我的评分来给我较低的评分。

    【讨论】:

      【解决方案3】:

      制作两个不同的菜单.... 可能会有所帮助并根据您的要求更改条件

      <?php if ( is_page('projects') ) : ?>
      <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'conditional-menu-name', 'menu_class' => 'nav-menu' ) ); ?>
      <?php else : ?>
      <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu' => 'Primary', 'menu_class' => 'nav-menu' ) ); ?>
      <?php endif; ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-25
        • 2017-01-28
        • 1970-01-01
        相关资源
        最近更新 更多