it-swarm-ko.tech

Wp_nav_menu 단일 카테고리 페이지를 가져와 부모를 강조 표시하려면 어떻게합니까?

새로운 wp_nav_menu 시스템을 사용하면 범주를 메뉴 항목으로 추가 할 수 있으므로 필자는 'About'의 하위 메뉴 항목 인 'news'범주를 갖습니다.

About (page)
--news (category)
--history (page)
--contact us (page)

메뉴 강조 표시 CSS는 현재 메뉴 부모 및 현재 메뉴 조상에서 선택되므로 하위 메뉴 섹션에있을 때 '뉴스'를 방문하면 최상위 메뉴 항목 (예 : '정보')이 강조 표시됩니다.

이것은 is_single () 및 in_category ( 'news')와 일치하는 'news'카테고리의 게시물을 방문 할 때를 제외하고는 잘 작동합니다.

Firebug에서 볼 수있는 한 'current-menu-parent'와 'current-menu-ancestor'는 'news'메뉴 항목에 적용되지만 'About'최상위 메뉴 항목에는 적용되지 않습니다.

내 메뉴를 설정하는 데 빠진 것이 있습니까? 나는 사용자 지정 워커를 사용하여 시도했지만 초기 메뉴 조상이 제대로 설정되지 않은 것 같습니다.

내 유일한 해결책은 (불쾌한 JQuery 해킹에 의지하지 않고) 뉴스 '카테고리'를 가리 키지 않고 뉴스 게시물을 쿼리하는 '뉴스'페이지를 만드는 것입니다.

어떤 아이디어?

고마워, 댄

코드 샘플 업데이트 09/09/2010

현재 뉴스 카테고리의 단일 페이지보기 http://www.example.com/2010/09/top-news-did-you-know/ :

<li id="menu-item-28" class="menu-item menu-item-type-post_type menu-item-28"><a href="http://www.example.com/about/">About Us</a>
<ul class="sub-menu">
<li id="menu-item-71" class="menu-item menu-item-type-taxonomy"><a href="http://www.example.com/category/events/">Events</a></li>
<li id="menu-item-70" class="menu-item menu-item-type-taxonomy current-post-ancestor current-menu-parent current-post-parent current-menu-parent"><a href="http://www.example.com/category/news/">News &#038; views</a></li>
<li id="menu-item-88" class="menu-item menu-item-type-post_type"><a href="http://www.example.com/contact-us/">Contact Us</a></li>
</ul></li>

따라서 "About Us"에는 현재 본 페이지의 부모임을 나타내는 CSS 클래스가 없습니다.

어떻게 작동해야한다고 생각합니까 (솔직히 말해서, 이것이 아니라면, 구현이 부족하기 때문에 버그입니다) :

<li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-28"><a href="http://www.example.com/about/">About Us</a>
<ul class="sub-menu">
<li id="menu-item-71" class="menu-item menu-item-type-taxonomy"><a href="http://www.example.com/category/events/">Events</a></li>
<li id="menu-item-70" class="menu-item menu-item-type-taxonomy current-post-ancestor current-menu-parent current-post-parent current-menu-parent"><a href="http://www.example.com/category/news/">News &#038; views</a></li>
<li id="menu-item-88" class="menu-item menu-item-type-post_type"><a href="http://www.example.com/contact-us/">Contact Us</a></li>
</ul></li>

current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor CSS 클래스가 최상위 메뉴 항목에 첨부되어 있습니다. 이 방식은 다른 모든 페이지에 대해 또는 범주 자체를 볼 때도 범주의 단일 페이지가 아닌 다른 방식으로도 작동합니다.

2
Dan Smart

현재 페이지 메뉴 항목이 카테고리 메뉴 항목의 상위 항목 인 경우에는이 작업을 수행 할 수 없습니다.

귀하의 예에서 if About은 카테고리 뉴스는 child 카테고리 였고 정보 (카테고리) 메뉴 항목이 할당됩니다.

  • 현재의 사후 조상
  • current-menu-parent
  • 현재의 사후 부모
2
Chris_O

나는 또한 같은 문제를 겪고 있었다. PHP 해킹을 찾을 수 없어서 자바 스크립트를 사용했습니다.

function findAncestor(){
    var currentParentLi = document.getElementsByClassName("current-menu-parent");
    if(currentParentLi){
        var currentAncestorLi = currentParentLi[0].parentNode.parentNode;
        if(currentAncestorLi && currentAncestorLi.tagName=="LI"){
            currentAncestorLi.className += " current-menu-ancestor";
        }
    }
}

위의 코드를 .js 파일에 넣은 다음 페이지 헤드에서 참조하고 window.onload에서 findAncestor () 함수를 호출하십시오.

<script type="text/javascript">
<!--
window.onload = function() {
    findAncestor()
}
//-->
</script>
1
Meredith Dodge

이 스레드 포럼은 매우 유익한 솔루션입니다.

http://diythemes.com/forums/showthread.php?39258-Category-highlighting-for-single-post-%28-wp-menu-%29 .

피에르

0
user1060

나는 Chris_O와 동의한다.

그래서 저는 정적 인 프론트 페이지, 2 개의 메인 카테고리 + 1 개의 하위 카테고리, 그리고 다른 페이지를 가지고 있습니다. Wordpress 3.0.1 및 Thesis 1.8, Wordpress 메뉴 대신 Thesis 메뉴 사용.

내가 사용한 주요 카테고리를 강조하기 위해 : .current-post-ancestor a {background : #FFFFFF;}

(이것은 단일 게시물에서 주요 카테고리를 강조 표시 함)

하위 카테고리를 강조 표시하기 위해 : .sub-menu .current-post-ancestor a {background : # F0EEC2;}

(이것은 하위 카테고리의 단일 게시물에있을 때 하위 카테고리 - 주 카테고리 아래에 강조 표시됨)

나는 둘 다 "주요 카테고리" "하위 카테고리"를 강조하고 싶습니다.

하지만 트릭을 찾을 수 없습니다.

피에르

0
user1060