Wordpress自定义助行器创建双菜单

时间:2015-09-26 22:57:53

标签: wordpress menu jquery-isotope

您好我为我的wordpress主题设置了这个自定义walker来显示我的主菜单。我大约一个月前开始调整它,但此后一直在研究其他一些方面。回到它,我离开的时候有点迷失。

目前唯一可以看到的真正问题是助行器正在生成双重菜单。所以每个链接都会显示两次。

有没有人知道为什么菜单项会出现两次?

这是自定义助行器:

class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
    function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
        if ( $depth )
            $indent = str_repeat("\t", $depth);
        else
            $indent = '';

        extract($args, EXTR_SKIP);
        $linkName = apply_filters( 'the_title', $item->post_title, $page->ID );

        if($linkName=="HOME"){
            $output .= $indent . '<li id="item_'.$item->ID.'"><a href="#" class="all" data-filter=".all">'.$linkName.'</a>';
        }else{
            $output .= $indent . '<li id="item_'.$item->ID.'"><a href="#" class="'.strtolower($linkName).'" data-filter=".'.strtolower($linkName).'">'.$linkName.'</a>';
        }

        if($linkName=="CONTACT"){
            $output .= $indent . '<li id="item_'.$item->ID.'"><a href="/contact" class="contact" data-filter=".all">'.$linkName.'</a>';
        }else{
            $output .= $indent . '<li id="item_'.$item->ID.'"><a href="#" class="'.strtolower($linkName).'" data-filter=".'.strtolower($linkName).'">'.$linkName.'</a>';
        }
    }


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

}

由于

1 个答案:

答案 0 :(得分:1)

这是因为您还没有学会如何使用if循环。你有两个,因此将输出两个链接。你只想要输出1:

if($linkName=="HOME"){
        $output .= $indent . '<li id="item_'.$item->ID.'"><a href="#" class="all" data-filter=".all">'.$linkName.'</a>';
} elseif($linkName=="CONTACT"){
        $output .= $indent . '<li id="item_'.$item->ID.'"><a href="/contact" class="contact" data-filter=".all">'.$linkName.'</a>';
}else{
        $output .= $indent . '<li id="item_'.$item->ID.'"><a href="#" class="'.strtolower($linkName).'" data-filter=".'.strtolower($linkName).'">'.$linkName.'</a>';
}