programing

페이지가 상위 페이지인지 하위 페이지인지 확인하시겠습니까?

newstyles 2023. 4. 4. 21:09

페이지가 상위 페이지인지 하위 페이지인지 확인하시겠습니까?

페이지가 상위 페이지인지 하위 페이지인지 확인할 수 있습니까?

페이지 설정은 다음과 같습니다.

-- 부모

----자녀 페이지 1

----자녀 페이지 2

기타.

상위 페이지일 경우 특정 메뉴를 표시하고 하위 페이지일 경우 다른 메뉴를 표시하고 싶습니다.

다음과 같은 작업을 할 수 있다는 것은 알지만, 특정 페이지 ID를 포함하지 않고 좀 더 역동적으로 만들고 싶습니다.

<?php
if ($post->post_parent == '100') { // if current page is child of page with page ID 100
   // show image X 
}
?>

투고가 다음과 같은 서브 페이지인지 테스트할 수 있습니다.
* ( http://codex.wordpress.org/Conditional_Tags)* 에서)

<?php

global $post;     // if outside the loop

if ( is_page() && $post->post_parent ) {
    // This is a subpage

} else {
    // This is not a subpage
}
?>

이 기능을 함수에 넣습니다.php 파일입니다.

function is_page_child($pid) {// $pid = The ID of the page we're looking for pages underneath
  global $post;         // load details about this page
  $anc = get_post_ancestors( $post->ID );
  foreach($anc as $ancestor) {
      if(is_page() && $ancestor == $pid) {
          return true;
      }
  }
  if(is_page()&&(is_page($pid)))
     return true;   // we're at the page or at a sub page
  else
      return false;  // we're elsewhere
};

그런 다음 사용할 수 있습니다.

<?php 
    if(is_page_child(100)) {
        // show image X 
    } 
?>

오래된 질문인 것은 알지만, 같은 질문을 찾고 있었는데, 이 질문을 생각해 낼 때까지 명확하고 간단한 답을 찾을 수 없었습니다.내 대답은 그의 설명에 부합하지 않지만 내가 찾고 있던 주요 질문에 대한 답변이다.

그러면 페이지가 하위인지 상위인지 확인하고 사이드바 메뉴와 같이 상위 또는 상위 중 하나이며 상위 또는 하위가 없는 페이지에만 표시할 수 있습니다.

<?php 
   global $post;    
   $children = get_pages( array( 'child_of' => $post->ID ) );
   if ( is_page() && ($post->post_parent || count( $children ) > 0  )) : 
?>

Wordpress의 경우 다음 사항을 간단히 확인할 수 있습니다.

<?php 
  if (wp_get_post_parent_id(get_the_ID())) {
    echo "I am a child page";
  } 
?>

get_pages() 함수를 사용할 수 있습니다.인수로 연관 배열을 사용합니다.이 어레이에 'child_of' => get_the_를 지정할 수 있습니다.ID()를 사용하여 현재 페이지의 하위 항목을 가져오고 하위 항목이 없으면 get_pages() 함수 전체가 false를 반환합니다.그렇지 않으면 true로 평가된 값이 반환됩니다.이 값을 if 문에서 조건으로 사용할 변수에 할당할 수 있습니다.

$iAmParent = get_pages(array('child_of' => get_the_ID()));

언급URL : https://stackoverflow.com/questions/13916783/check-if-a-page-is-a-parent-or-if-its-a-child-page