Chỉ nhận các trang con trực tiếp trong WordPress với get_pages


20

Tôi đang cố gắng tìm nạp tất cả trẻ em trực tiếp của một trang. Nhưng tôi cũng đang nhận được tất cả trẻ em và cháu lớn. Có ý kiến ​​gì không?

Nguồn PHP:

$args = array( 
        'child_of' => $post->ID, 
        'parent ' => $post->ID,
        'hierarchical' => 0,
        'sort_column' => 'menu_order', 
        'sort_order' => 'asc'
);
$mypages = get_pages( $args );

foreach( $mypages as $post )
{

$post_tempalte = the_page_template_part();

get_template_part( 'content' , $post_tempalte );
}

Tôi $argsnên chính xác theo tài liệu , nhưng nó hoàn toàn bỏ qua parenthierarchical.

Cấu trúc trang của tôi như sau:

Cha mẹ
-Trẻ 1
-Trẻ 2 -
Trẻ 1 đến trẻ 2 - Trẻ
2 đến trẻ 2
-Trẻ 3

Và tôi chỉ muốn có được child 1, child 2child 3.


Hãy thử xem xét các depthtùy chọn cũng. một giải pháp khác mà tôi tìm thấy và dường như đang hoạt động là $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); ở đây bạn có thể thay đổi sort_columnsort_ordertheo nhu cầu.
Rohit Pande

@RohitPande depthhoàn toàn không giúp tôi, thiết lập child_ofparentgiống như vậy.
Volker E.

Câu trả lời:


12

Vui lòng kiểm tra tham số 'cha mẹ'. Dường như có một khoảng trống sau cái tên.


Ôi Chúa ơi. Thật ngu ngốc. Nhưng cảm ơn bạn, điều đó đã giúp tôi tiết kiệm thời gian. :)
jamietelin

3

Với tham số 'độ sâu' của hàm "wp_list_pages" hoặc hàm "get_pages", chúng tôi có thể xác định số lượng mức độ chúng tôi muốn truy xuất. Vì vậy, ở đây, tôi sẽ hiển thị tất cả cấp độ con đầu tiên của trang hiện tại.

            <?php global $post;
                    wp_list_pages( array(
                    'child_of' => $post->ID, // Only pages that are children of the current page
                    'depth' => 1 ,   // Only show one level of hierarchy
                    'sort_order' => 'asc'
                ));
            ?>

Hàm get_pages dường như không có đối số độ sâu hoặc ít nhất nó không được ghi lại: developer.wordpress.org/reference/fifts/get_pages .
kloddant
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.