WordPress Code : 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 ...
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).
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ặc custom_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.
Chuyên Mục: WordPress
Bài viết được đăng bởi webmaster