【问题标题】:Add levels selector class to wordpress nav menu将级别选择器类添加到 wordpress 导航菜单
【发布时间】:2012-01-27 23:33:02
【问题描述】:

在回显 wp_list_pages 的结果时,我想为每个 li 添加级别类。目前,我正在使用:

<?php

   wp_nav_menu(array('theme_location' => 'main_menu', 'container' => '', 'menu_class' => 'fR clearfix', 'menu_id' => 'nav'));

<?php } ?>

期望的输出是:

<ul class="menu">
   <li class="page_item page-item-9 level-0 current_page_item"><a href="" title=""></a>
      <ul class="children expanded" style="display: block; ">
        <li class="page_item page-item-40 level-1"><a href="" title=""></a></li>
        <li class="page_item page-item-43 level-1"><a href="" title=""></a></li>
        <li class="page_item page-item-45 level-1"><a href="" title=""></a></li>
        <li class="page_item page-item-47 level-1"><a href="" title=""></a></li>
      </ul>
   </li>
   <!-- So on -->
</ul>

这有可能得到想要的输出吗?请帮忙!

【问题讨论】:

    标签: wordpress class menu navigation


    【解决方案1】:

    没有直接的方法可以做到这一点。

    您可以使用 wp_nav_menu_objects 过滤器并操作菜单项的类。

    这是给你的代码:

    <?php
    add_filter('wp_nav_menu_objects' , 'my_menu_class');
    function my_menu_class($menu) {
        $level = 0;
        $stack = array('0');
        foreach($menu as $key => $item) {
            while($item->menu_item_parent != array_pop($stack)) {
                $level--;
            }   
            $level++;
            $stack[] = $item->menu_item_parent;
            $stack[] = $item->ID;
            $menu[$key]->classes[] = 'level-'. ($level - 1);
        }                    
        return $menu;        
    }
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        它会帮助你...

        <?php wp_list_pages('title_li='); ?>
        

        http://codex.wordpress.org/Function_Reference/wp_list_pages

        【讨论】:

        • 问题指的是函数wp_nav_menu,而不是wp_list_pages
        猜你喜欢
        • 2017-07-04
        • 2012-11-18
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-10
        • 1970-01-01
        • 2017-09-11
        相关资源
        最近更新 更多