【问题标题】:Wordpress: Conditional / Page Specific MenuWordpress:条件/页面特定菜单
【发布时间】:2020-02-21 15:06:05
【问题描述】:

我正在使用 Divi builder 创建一个网站。我目前正在编辑header.php 文件,但在应用条件菜单时遇到问题。我目前使用一页的主菜单和另一页的二级菜单。两者在桌面视图中都可以正常工作,但在移动下拉列表中,主要和次要的所有项目都会出现。

if(is_page(1)){

$primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );             

} else if (is_page(2)){

$primaryNav = wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

} else {

$primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

}

我相信这是针对移动设备的

$slide_nav = '';
$slide_menu_class = 'et_mobile_menu';

$slide_nav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
$slide_nav .= wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );


【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    这个已经解决了。原来移动导航在父主题的functions.php中

    解决方案是在 register_nav_menus() 函数中添加另一个菜单。

    【讨论】:

      【解决方案2】:

      这个下拉菜单是如何配置的?也许在您的主题中,它被另一个函数调用,实际上只有在管理员中与之关联的项目。如果没有未关联的菜单,请在管理面板中检查,如果还没有在此处放置移动菜单的摘录,以了解是否有任何与您的不同的代码。

      -------------更新后更新------

      在您的第一个代码中,您可以像这样简化它:

      if (is_page(2)){
      
          $primaryNav = wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );
      
      } else {
      
          $primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );
      
      }
      

      在您的第二个代码中,您可以这样做:

      $slide_nav = '';
      $slide_menu_class = 'et_mobile_menu';
      
      if (is_page(2)){
          $slide_nav .= wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
      } else {
          $slide_nav .= wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
      }
      

      【讨论】:

      • 嗨!编辑了我的帖子。我在移动查询中添加了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 2015-02-25
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多