wordpress页脚菜单添加分割线

时间: 2014-05-07 / 分类: wordpress / 浏览次数: 4,727 views / 0个评论 发表评论

找到好久才找到这个好东西

貌似采用这个Walker,翻译成“处理流程”可能比较好

第一步,在菜单处理流程里添加分割线

class Main_Menu_Walker extends Walker_Nav_Menu{

    function end_el( &$output, $item, $depth = 0, $args = array() ) {
        $output .= "</li>\n";

        if ($depth == 0)
            $output .="<li class='separator'>|</li>\n";        
    }
}

 

然后就可以使用li:last-child把最后一个分割线隐藏,当然也可以用另外一个办法,就是加过滤器

function menu_remove_last_separator($items){

    $separator = "<li class='separator'>|</li>";
    $pos = strrpos($items, $separator);

    if ($pos) 
        $items = substr_replace($items, '', $pos, strlen($separator));

    return $items;
}

add_filter( 'wp_nav_menu_items','menu_remove_last_separator');

 

最后就是在wp_nav_menu中使用这个处理流程了,例子如下

wp_nav_menu(array(
        'theme_location' => 'navigation',
        'container'      => false,
        'menu_class'     => 'inline',
        'walker'         => new main_menu_walker()
        )
);

发表评论

您的昵称 *

您的邮箱 *

您的网站