it-swarm-ko.tech

Wp_nav_menu ()로 현재 활성 페이지를 수동으로 지정하는 방법

wp_nav_menu()을 사용할 때 수동으로 현재 "활성화 된"페이지를 지정하는 방법이 있습니까?

"제품"페이지가 있으며 해당 페이지에 다양한 (동적) 사용자 지정 분류에 대한 링크가 있습니다. 이러한 택 소노 미스 중 하나를 클릭하면 "제품"페이지에 머물지 만 wp_nav_menu()은 "제품"페이지에 계속 남아 있다는 사실을 언급하지 않습니다. 이 문제를 해결할 수있는 방법이 있습니까?

감사!

9
Jon

하나의 메뉴 항목에 current_page_item 클래스를 추가하려는 경우 nav_menu_css_class 필터에 연결하여 필요할 경우 해당 클래스를 추가 할 수 있습니다. 메뉴 인쇄시 라고합니다.

전체 메뉴에 액세스하고 클래스를 추가하려면 전체 wp_get_nav_menu_items 배열을 가져 오는 $items 필터에 연결하십시오. 개별 항목의 classes 속성을 편집 할 수 있습니다.

12
Jan Fabry

@Jon <body <?php body_class(); ?>>을 사용하는 한 WordPress는 드롭 다운 메뉴를 사용하는 경우 current_page_item와 함께 클래스에 current_page_parent 클래스를 할당합니다.

2
Chris_O

1 월에 nav_menu_css_class 필터가 언급되었으므로이 예제가 도움이되었습니다. 출처 : https://codex.wordpress.org/Plugin_API/Filter_Reference/nav_menu_css_class

function my_special_nav_class( $classes, $item ) {
    if ( is_single() && $item->title == 'Blog' ) {
        $classes[] = 'special-class';
    }
    return $classes;
}    
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
0
Ross