Phát hiện Page Parent, Child và Ancestor

Mặc định, WordPress cho phép chúng ta đặt các câu lệnh điều kiện dùng để kiểm tra nội dung cần xuất cho những template chỉ định. Ví dụ như is_page()is_home()is_single()… Tuy nhiên nó lại thiếu những câu lệnh hữu ích khác như kiểm tra xem trang này có phải là cha của trang kia (Page Parent), hoặc là con (Child parent) hoặc là trang gốc (Ancestor – tức không là con của thằng nào).

wordpress code, WordPress Hacks, thu thuat WordPress, WordPress tips, Phát hiện Page Parent

Hôm nay mình sẽ bày cho các bạn một cách để có thể tạo những câu điều kiện như thế. Trước hết chúng ta cần vào file functions.php hoặccustom_functions.php, rồi sau đó copy từng đoạn code tương ứng như sau :

Kiểm tra xem trang đó có trang con không (Page Parent)

function is_parent()

{

    global $post;

    $pages = get_pages("child_of=".$post->ID);

    if ($pages) return true;

}

Sử dụng :

if (is_parent()){

//custom code

}

Kiểm tra xem trang có phải là trang con của một trang chỉ định không (Child Page)

function is_child($post_id)

{

    global $post;

    if(is_page()&&($post->post_parent==$post_id))

               return true;

    else

               return false;

}

Sử dụng :

if (is_child(5)){

//custom code

}

Ancestor Page

function is_ancestor($post_id) {

    global $wp_query;

    $ancestors = $wp_query->post->ancestors;

    if ( in_array($post_id, $ancestors)) {

        return true;

    } else {

        return false;

    }

}

Sử dụng :

if (is_ancestor(5)){

//custom code

}

Hy vọng những chia sẻ trong bài viết này, sẽ giúp ích cho các bạn trong việc phát triển theme cho trang WordPress của mình.

 

 HỖ TRỢ TRỰC TUYẾN