Wordpress Custom Walker,定位第一个和最后一个链接

时间:2015-08-08 16:16:20

标签: php html wordpress navigation jquery-isotope

我在Wordpress中设置了自定义助手:

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 );
        $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";
    }
}

其中输出以下内容:

<nav role="navigation">
    <ul class="simple-nav">
        <li id="item_15"><a href="#" class="home" data-filter=".home">HOME</a></li>
        <li id="item_38"><a href="#" class="directing" data-filter=".directing">DIRECTING</a></li>
        <li id="item_40"><a href="#" class="compositing" data-filter=".compositing">COMPOSITING</a></li>
        <li id="item_42"><a href="#" class="visuals" data-filter=".visuals">VISUALS</a></li>
        <li id="item_74"><a href="#" class="contact" data-filter=".contact">CONTACT</a></li>
    </ul>
</nav>

Isotope使用data-filter属性来过滤我的结果。这适用于指导,合成和视觉链接。

但是对于第一个链接,我想附加data-filter=".all"而不是.home

对于最后一个链接,我希望这是另一个页面的实际链接,而不是空白链接#

如何具体为这些链接添加进一步的自定义?

由于

1 个答案:

答案 0 :(得分:0)

第一个链接尝试更改,

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

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

同样为最后一个链接做同样的事情