2011-01-23 4 views
0

Wordpress를 사용하여 생성하고있는 링크 목록에 문제가 있습니다. 특정 페이지 링크와 모든 하위 페이지 링크를 표시합니다. 내가 그들 위에 마우스를 올려 놓을 때 링크가 강조 표시되도록하려면, 링크를 클릭하고 페이지로 이동하면 해당 페이지의 링크가 강조 표시됩니다. 나는 이것을 주로 사용하는 방법을 찾았습니다.하위 목록 항목을 강조 표시하지 않고 상위 목록 항목을 강조 표시하는 방법은 무엇입니까?

#sidebar a:hover{ 
    padding: 7px; 
    background-color: #f7f9fe; 
    color: #728186; 
} 
#sidebar ul > li .current_page_item{ 
    padding: 7px; 
    background-color: #f7f9fe; 
    color: #728186; 
} 

그러나 부모 페이지/li을 강조 표시 할 수 없습니다. 내가 사용하는 경우 :

#sidebar li.current_page_item 

자녀는 페이지에서 강조 표시되지만 부모 페이지에서는 하위 항목뿐만 아니라 그 자체도 강조 표시됩니다. 여기

<ul id="sidebar" class="sidelist"> 
    <li class="pagenav"><h5>WHAT WE DO</h5> 
     <ul> 
      <li class="page_item page-item-39 current_page_item"><a href="http://www.autismrecoveryfoundation.org/meet-the-board" title="Meet the Board">Meet the Board</a> 
      <ul class='children'> 
       <li class="page_item page-item-84"><a href="http://www.autismrecoveryfoundation.org/meet-the-board/being-a-board-member-101" title="Being A Board Member 101">Being A Board Member 101</a></li> 
      </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 

내가 WP 목록 페이지에 대한 워드 프레스 페이지 (http://codex.wordpress.org/Function_Reference/wp_list_pages)에서 사용하고 템플릿 태그입니다 :

여기 내 분석 PHP의

<?php 
      // use wp_list_pages to display parent and all child pages all generations (a tree with parent) 
      $parent = 39; 
      $args=array(
      'title_li' => '', 
      'child_of' => $parent 
      ); 
      $pages = get_pages($args); 
      if ($pages) { 
       $pageids = array(); 
       foreach ($pages as $page) { 
       $pageids[]= $page->ID; 
       } 

       $args=array(
       'title_li' => '<h5>WHAT WE DO</h5>', 
       'include' => $parent . ',' . implode(",", $pageids) 
      ); 
       wp_list_pages($args); 
      } 
     ?> 

답변

1

업데이트

플랫 목록에서 -1로 depth 설정 페이지의 목록을 표시하려면 :

$args=array(
    'depth' => -1, 
    'title_li' => '<h5>WHAT WE DO</h5>', 
    'include' => $parent . ',' . implode(",", $pageids) 
); 

당신이 자식 선택자와 주변 엉망이되지 않습니다 그런 식으로하고 서브 페이지는 메인 페이지의 li 이상에 포함되지 않습니다.


올드 대답 문제는이 선택에 달려있다

:

#sidebar ul > li .current_page_item 

#sidebar ul 부분은 #sidebar에서 내려 ul을 찾고 있지만, 코드에서 ul는 IS #sidebar. 또한 li .current_page_itemli 안에.current_page_item의 표제가 포함 된 입니다.

이 당신의 선택을 변경

:

#sidebar > li > ul > .current_page_item 

당신은이를 사용할 수, 페이지 어쨌든 자신의 클래스가 위젯 이후 : 돕는

.pagenav > ul > .current_page_item 
+0

감사합니다! 그래서 나는 게시물을 편집하기 전부터 2 번과 함께 여러분의 제안을 모두 시도했지만 그 중 아무도 그것을하지 않았습니다. #sidebar> li> ul> .current_page_item을 사용해 보았습니다. 부모 페이지에서 부모와 자식을 모두 강조 표시 한 다음 하위 페이지에서 강조 표시하지 않은 경우 강조 표시됩니다. 이 페이지를 보시 겠어요? http://www.autismrecoveryfoundation.org/meet-theboard @ – Amanda

+0

@Amanda :이 탐색 목록에 대한 WordPress 템플릿 태그를 보여줄 수 있습니까? 아니면 위젯에 있습니까? – BoltClock

+0

@BoltClock : 템플릿 태그를 표시하기 위해 게시물을 편집했습니다.목록을 한 수준으로 만 만드는 방법을 알고 싶습니다. 문제가 해결 될 것이므로 중첩 목록을 처리 할 수 ​​없기 때문입니다. – Amanda

관련 문제