2013-02-23 120 views
2

是否可以根据菜单中是否存在当前页面来有条件地显示菜单?如果当前页面在菜单中,仅显示菜单

+0

检查[this](http://wordpress.org/extend/plugins/menu-items-visibility-control/)或[this](http://wpmu.org/how-to-add-conditional-菜单到的wordpress /)。 – 2013-02-23 21:39:46

回答

4

您可以使用下面的代码。遍历每个菜单中的每个项目,并检查项目是否存在。如果是,则显示菜单并转到下一个菜单。

<?php 
    // get array of nav menus 
    $menus = wp_get_nav_menus(); 

    //get current page URL 
    $uri = $_SERVER['REQUEST_URI']; 

    //loop through each menu looking for current page 
    foreach($menus as $menu) 
    { 
     //get menu items from ith menu in loop 
     $items = wp_get_nav_menu_items($menu->term_id); 

     //loop through each item in menu to check for 
     foreach($items as $item) 
     { 
      if(strpos($item->url, $uri) !== false) 
      { 
       //display menu 
       wp_nav_menu(array('menu'=>$menu->term_id)); 

       //current menu done, check next menu 
       break; 
      } 
     } 
    } 
    ?> 

所有相关的Wordpress函数的用法可以在代码中找到,或通过Google搜索。

+0

'if(strcmp($ item-> url,$ uri)== 0)'似乎效果更好! – testing 2014-02-17 00:44:31

相关问题