2011-10-28 3 views
3

WordPress의 페이지에 빵 부스러기를 표시하는 기능을 만들거나 수정했습니다. 수정 된 버전은 # 게시 -> 게시 _ 부모를 사용하여 전체 이동 경로를 갖기 위해 페이지의 부모를 얻습니다 (홈> 페이지 1> 페이지 2> 페이지 3 대 홈> 페이지 3)

코드 페이지 (ie. home > page 1 > page 2 > page 3)에 완벽하게 실행됩니다. 그러나 함수에 넣을 때 functions.php 페이지를 호출하면 페이지에 부모가 $ post-> post_parent (ie. page 3 vs. home > page 3)을 가지고 있는지 감지 할 수 없습니다.

페이지 코드가 the_loop에서 실행되었지만 기능이 어떻게 든 외부에 있기 때문일 수 있습니까? 페이지 코드에

:

if (!is_home()) { 
      echo "<ul id='breadcrumb'>"; 
      echo '<li><a href="'; 
      echo get_option('home'); 
      echo '">HOME'; 
      echo "</a></li>"; 
      if (is_category() || is_single()) { 
       the_category('title_li='); 
       if (is_single()) { 
        the_title('<li>', '</li>'); 
        echo "</ul>"; 
       } 
      } elseif (is_page()) { 
       if(!$post->post_parent){ 
        //echo "No Parent"; 
        } 
       else{ 

        echo '<li>'. wp_list_pages('include='.$post->post_parent.'&title_li=').'</li>'; 
       } 


       the_title('<li>', '</li>'); 
       echo "</ul>"; 
      } 
     } 

기능 코드 :

가 현재 함수에 싸여 것을 제외하고는이 코드에 대한 본질적으로 다른 아무것도 없다
function the_breadcrumb() { 
     if (!is_home()) { 
      echo "<ul id='breadcrumb'>"; 
      echo '<li><a href="'; 
      echo get_option('home'); 
      echo '">HOME'; 
      echo "</a></li>"; 
      if (is_category() || is_single()) { 
       the_category('title_li='); 
       if (is_single()) { 
        the_title('<li>', '</li>'); 
        echo "</ul>"; 
       } 
      } elseif (is_page()) { 
       if(!$post->post_parent){ 
        //echo "No Parent"; 
        } 
       else{ 

        echo '<li>'. wp_list_pages('include='.$post->post_parent.'&title_li=').'</li>'; 
       } 


       the_title('<li>', '</li>'); 
       echo "</ul>"; 
      } 
     } 
    } 

. 부모 페이지가 표시되지 않는다는 사실은 실망 스럽습니다. 내가 만든 모든 페이지 템플릿에이 코드를 포함하고 싶지 않습니다.

도움말 & 제안 사항을 크게 높이세요!

답변

2

$post ist는 사용자의 기능에 정의되어 있지 않습니다.

function the_breadcrumb($post) { 
+0

감사합니다 !!! 그랬어. 너는 내가 얼마나 많은 시간을 낭비했는지 모른다. 아주 간단합니다. 대답 기한이 끝나자 마자 나는 이것을 완료로 표시 할 것입니다. – Ian

+0

오, 나는 그것이 어떤지 압니다 ... 가끔씩 산책을하거나 창문을 여는 것이 도움이됩니다. D – PiTheNumber

1

을 또는 함수의 상단에

global $post; 

을 정의 함수에 매개 변수로 $ 게시물을 제공하려고합니다.

function fname() 
{ 
    global $post; 
    code... 
} 
관련 문제