메뉴 워커를 사용하여 메뉴 항목 끝에 사용자 정의 항목 추가


10

목록 항목의 메뉴 끝에 검색 필드를 추가해야합니다.

나는 워커를보고 있었지만 마지막 항목이 무엇인지 파악하기가 어렵습니다 (또는 총계를 얻는 것조차도). 또한 사용자 정의 항목의 코드를 어디에 추가합니까?

나는 현재 가지고있다;

class mainNav_walker extends Walker_Nav_Menu
{
    public function start_el( &$output, $item, $depth, $args )
    {
        //print_r($item);

        $output .= $this->custom_content( $item );
        parent::start_el( &$output, $item, $depth, $args );
    }

    protected function custom_content( $item )
    {
       // add <li>SEARCH FIELD HERE?</li>
    }
}

답변:


19

이 경우 워커가 필요하지 않습니다. 필터 wp_nav_menu_items가 사용 가능합니다. 메뉴의 목록 항목을 편집 할 수 있습니다. 검색 필드에 자신의 목록 항목을 추가하십시오.

add_filter( 'wp_nav_menu_items', 'add_search_to_nav', 10, 2 );

function add_search_to_nav( $items, $args )
{
    $items .= '<li>SEARCH</li>';
    return $items;
}

참고 : 특정 메뉴 만 타겟팅하려는 경우 동적 필터가 존재합니다.

wp_nav_menu_{$menu->slug}_items


에이스-그 방법을 완전히 잊어 버렸습니다 ... 고마워.
v3nt

3
$args검색을 특정 테마 (메뉴) 위치에만 추가하도록 확인할 수 있습니다 .
Stephen Harris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.