2017-01-18 4 views
1

주 메뉴와 하위 페이지 메뉴가 있습니다. 여기를 참조하십시오. http://www.healthwatchleicester.co.uk/newwebsite/find-services/ 왼쪽 열에 나열된 주 메뉴 항목의 하위 요소가 하위 메뉴로 표시됩니다. 이에 사용되는 코드는 다음과 같습니다 나는 코드의이 비트를 발견비어있을 때 하위 메뉴 숨기기 - Wordpress

<div class="sub-page-menu"> 

     <div class="left-sidebar-title"> 
     <h4> 
      <?php 
      echo empty($post->post_parent) ? get_the_title($post->ID) : get_the_title($post->post_parent); 
      ?> 
     </h4> 
     </div> 

     <?php 
     wp_nav_menu(array(
     'theme_location' => 'primary', 
     'sub_menu' => true 
    )); 
     ?> 

    </div> 

이 작동하는 것 같군,하지만 난 그게 더 하위 항목을 반환하지 않는 경우 사라지는이 모든 하위 메뉴를 싶습니다 ... 그 올바른 트랙을 따라 같다하지만 난

<?php 
$menu = wp_nav_menu(
array (
    'echo' => FALSE, 
    'fallback_cb' => '__return_false' 
) 
); 

if (! empty ($menu)) 
{ 
echo '<div class="navmain2">' . $menu . '</div>'; 
} 
?> 

사람이 도와 줄 수도 올바른 경우 ... 그것은 관련 또는 어떻게 나도 몰라 무서워?

감사

답변

1

그래, 그래서 이것은 작동합니다 :

<div class="sub-page-menu"> 

<?php 

$menu = wp_nav_menu(
    array (
     'echo' => FALSE, 
     'fallback_cb' => '__return_false' 
    ) 
); 

if (! empty ($menu)) 
{ 

?> 

    <!-- move anything else you need to hide between here --> 

    <div class="left-sidebar-title"> 
     <h4> 
     <?php 
      echo empty($post->post_parent) ? get_the_title($post->ID) : get_the_title($post->post_parent); 
     ?> 
     </h4> 
    </div> 

    <!-- and here --> 

<?php 

    echo $menu; 

} 

?> 

</div> 
+0

안녕하세요 @ sergchernata ... 아래의 댓글을 참조하십시오 - 그것은 당신에게 지시되었지만 내가 코멘트에 당신을 태그하지 못하게 할 것입니다 ... –

+0

당신은 그 코멘트를 삭제해야합니다 . 나는 내 대답을 무엇을 해야할지에 대한 팁으로 편집했다. –

+0

죄송합니다. 나는 코멘트 섹션이 후속 질문에 대해 충분히 크지 않았기 때문에 그렇게했습니다 ... 정말 고마워요! :) –

1

을 당신은 또한 당신이 볼 수있는 솔루션을 첫 번째 솔루션에서 인수를 병합해야합니다

$menu = wp_nav_menu(
    array (
     'theme_location' => 'primary', 
     'sub_menu' => true, 
     'echo' => FALSE, 
     'fallback_cb' => '__return_false' 
    ) 
); 

if (!empty($menu)) { 
    // a menu exists, so output menu html 
} 

이유를 설명하기 위해 작동 방식 :

  • echo 인수를 FALSE으로 설정하면 wp_nav_menu 함수가 문자열을 반환합니다.
  • fallback_cb__return_false 기능으로 설정하면 기본 메뉴가 없을 때 wp_nav_menu 기능이 기본 메뉴로 대체되지 않습니다. 대신 거짓 값 (예 : 빈 문자열)을 반환해야합니다.
  • 변수가 거짓 값인 경우 아무 것도 출력 할 필요가 없습니다.
관련 문제