2012-11-30 2 views
3

내 주제에 3 개의 기본 nav를 사용하고 있으며 모든 기본 nav에 대해 사용자 정의 ID가있는 메뉴에 최종 링크를 배치하려고 시도하고 있습니다.Wordpress : wp_nav_menu의 final li에 사용자 정의 ID를 추가하십시오.

이 내가 갈거야 것입니다 : 당신이 볼 수 있듯이

<nav id="menu" role="navigation" class="menu-primary"> 
    <ul id="nav" class="menu"> 
    <li id="menu-item-418" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-418"><a href="#">About</a></li> 
    <li id="menu-item-474" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-474"><a href="#">Work</a></li> 
    <li id="menu-item-463" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-463"><a href="#">Blog</a></li> 
    <li id="menu-item-416" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-416"><a href="#">Contact</a></li> 
    <li id="back" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-491"><href="#header">back</a></li> 
    </ul> 
</nav> 

는 최종 리는 '다시'의 ID가 있습니다. js를 사용하지 않고 어떻게이 일을 수행 할 수 있는지 생각해보십시오. 클래스를 어떻게 바꿀 수 있는지는 알지만 ID는 변경할 수 없습니다. CSS 용도로이 작업을하고 있습니다.

도움이 될 것입니다.

+0

나는 세 개의 메뉴에서 마지막 링크에 동일한 ID를 적용하려고한다고 말하는 것이 맞습니까? id는 한 번만 사용해야하며 클래스가 세 번 할당되면 클래스를 사용해야합니다. JS를 통해 참조하지 않는다면 ID가 필요한 이유는 무엇입니까? – McNab

답변

1

wp_nav_menu을 사용하는 경우 가장 좋은 방법은 Wordpress에서 제공하는 클래스를 사용하는 것입니다. 메뉴 항목에 특정 ID를 추가하는 방법이 없다고 생각합니다.

이 jQuery를 함께 할 않는

...

0

는이 작업을 수행하는 JS/jQuery를 사용해야 할 것입니다. WordPress 메뉴는 동적으로 작성되며 테마 파일에 들어가서 li을 편집 할 수 없습니다.

메뉴가 동일한 페이지에 없다면 ID와 첫 번째 예를 사용할 수 있습니다. #nav를 각 메뉴에 대한 UL의 ID로 변경하고 각 메뉴에 한 번 한 번씩 한 줄을 반복해야합니다.

$(document).ready(function() { 
    $('#nav li').last().attr('id', 'back'); 
}); 

메뉴가 동일한 페이지에 있으면 다음과 같은 클래스를 사용해야합니다. #nav를 각 메뉴에 대한 UL의 ID로 변경하고 각 메뉴에 한 번 한 번씩 한 줄을 반복해야합니다. 모든 메뉴에 UL에있는 클래스가없는 경우라면 $('#classNameHere li').last().addClass('back'); 만 사용할 수 있습니다. 대신 변화의

$(document).ready(function() { 
    $('#nav li').last().addClass('back'); 
}); 
2

id 당신은

add_filter('wp_nav_menu_items', 'your_custom_menu_item'); 
function your_custom_menu_item ($items) 
{ 
    $items .= '<li id="back" class="what-ever"><a href="#">Back</a></li>'; 
    return $items; 
} 

은 그냥 functions.php에 코드를 붙여 다음과 같이 사용자 지정 메뉴 항목으로 마지막에 또 다른 menu item/li를 주입/삽입 할 수 있으며 사용자 정의를 추가합니다 menu item 메뉴에서 희망이 도움이됩니다.

사용자 지정 walkerhere is a nice example을 사용하여 을 변경하는 또 다른 방법이 있습니다.

관련 문제