2010-08-21 2 views
3

다음 메뉴 설정에는 기본적으로 "제품"이라는 상위 메뉴가 있으며 두 개의 하위 메뉴 항목이 있습니다. 여기에는 내 WordPress 3 메뉴 구조에서 사용하고 있습니다 내 sidebar.php 파일 내부 :PHP/WordPress를 사용하여 하위 메뉴에서 상위 메뉴 CSS 클래스 설정

<ul id="themenu" class="sf-menu sf-vertical"> 
     <li><a class="sf-with-ul topm" href="#">Products</a> 
      <li><a href="information">Information</a></li> 
      <li><a href="parts">Parts</a></li> 
     </li> 
</ul> 

은 내가 사용자가 하위 메뉴 옵션 중 하나를 클릭 할 때 PHP가 사용하는 방법 확실하지 오전, 즉 "정보 또는 부품"나는 CSS를 추가하고 싶습니다 currentMenu의 클래스를 부모 메뉴 클래스 (예 :

<li><a class="sf-with-ul topm currentMenu" href="#">Products</a> 

고맙습니다. 이것에 대한 당신의 도움.

감사합니다.

답변

2

워드 프레스 당신을 위해이 작업을 수행합니다. 메뉴에 클래스를 추가합니다 (wp_list_pages를 사용한다고 가정).

클래스는 current_page_parent하고 current_page_ancestor

편집 : 당신은 탐색을 인쇄하는 경우 정적 당신은 URL을 확인하고 URL이 목록에있는 경우 것이

<ul id="themenu" class="sf-menu sf-vertical"> 
     <li><a class="<?php if(in_array($_SERVER['REQUEST_URI'], array('/information','/parts') ) ?>currentMenu<?php endif; ?>" href="#">Products</a> 
      <li><a href="information">Information</a></li> 
      <li><a href="parts">Parts</a></li> 
     </li> 
</ul> 

을 할 수 클래스를 currentMenu로 설정하십시오. 부모님의 필요에 맞게 URL 배열을 편집해야합니다.

+0

실제로 wp_list_pages를 사용하지 않습니다. 언급 한 두 클래스를 계속 사용할 수 있습니까? – tonyf

+0

당신이 정적으로 nav를 인쇄하고 있지 않다면 – Galen

+0

안녕하세요 @ 갈렌. 귀하의 대답으로, 로컬로 내 URL : http : // localhost : 8888/abc 내 사이트를 처음 입력 할 때. 따라서 배열 ('/ information', '/ parts')을 사용하면 in_array가 실제로 '/ abc/information'과 '/ abc/parts'를 찾고있는 것처럼 보이지 않습니다 - 어떤 아이디어입니까? 두 번째로, 마침내 사이트 http://www.abc.com을 통해 생방송으로 출근하면 귀하의 답은이 시나리오를 다루겠습니까? 아니면/abc/정보 '및'/ abc/parts '를 추가해야합니다. 배열 부분의 일부? 감사. – tonyf

0

어떻게 이런 식으로 대신 jQuery를 사용하는 방법에 대한 :

$('#themenu a').click(function(){ 
    $(this).closest('.topm').addClass('currentMenu'); 
    return false; 
}); 
+0

Sarfraz - 내 sidebar.php 파일 내에 추가 할 수 있습니까? – tonyf

관련 문제