Hanya mendapatkan halaman anak langsung di WordPress dengan get_pages

20

Saya mencoba menjemput semua anak langsung dari sebuah halaman. Tapi saya mendapatkan semua anak dan cucu juga. Ada ide?

Sumber 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 );
}

Saya $argsharus benar sesuai dengan dokumentasi , tetapi benar-benar mengabaikan parentdan hierarchical.

Struktur halaman saya adalah sebagai berikut:

Induk -
Anak 1 -
Anak 2 -
Anak 1 ke anak 2 -
Anak 2 ke anak 2 -
Anak 3

Dan saya hanya ingin mendapatkan child 1, child 2dan child 3.

jamietelin
sumber
Coba pertimbangkan depthopsi ini juga. solusi lain yang saya temukan dan tampaknya berfungsi adalah di $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); sini Anda dapat mengubah sort_column& sort_ordersesuai kebutuhan.
Rohit Pande
@RohitPande sama depthsekali tidak membantu saya, pengaturan child_ofdan parenthal yang sama.
Volker E.

Jawaban:

12

Silakan periksa parameter 'parent'. Tampaknya ada spasi setelah namanya.

realokasi
sumber
Ya Tuhan. Sangat bodoh. Tapi terima kasih, itu menghemat waktu saya. :)
jamietelin
3

Dengan parameter 'kedalaman' dari fungsi "wp_list_pages" atau "get_pages", kita dapat menentukan berapa level yang ingin kita ambil. Jadi di sini, saya akan menampilkan semua level anak pertama dari halaman saat ini.

            <?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'
                ));
            ?>
Romain
sumber
Fungsi get_pages tampaknya tidak memiliki argumen yang mendalam, atau setidaknya tidak didokumentasikan: developer.wordpress.org/reference/functions/get_pages .
kloddant