Get_pages ile WordPress'te yalnızca doğrudan alt sayfaları alma


20

Bir sayfanın tüm doğrudan çocuklarını almaya çalışıyorum. Ama tüm çocukları ve büyük çocukları da alıyorum. Herhangi bir fikir?

PHP Kaynağı:

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

Benim belgelere$args göre doğru olmalı , ama tamamen görmezden geliyor ve .parenthierarchical

Sayfa yapım şöyledir:

Ebeveyn -
Çocuk 1 -
Çocuk 2 - Çocuk 1 - Çocuk 2
- Çocuk
2 - Çocuk 2 -
Çocuk 3

Ve sadece almak istiyorum child 1, child 2ve child 3.


depthSeçeneği de düşünmeyi deneyin . bulduğum ve çalıştığım başka bir çözüm $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc&parent='.$post->ID); burada değiştirebilirsinizsort_column ve sort_orderihtiyaca göre.
Rohit Pande

@RohitPande depthayarı, hiç bana yardım etmedi child_ofve parento was aynı etmek.
Volker

Yanıtlar:


12

Lütfen 'üst öğe' parametresini kontrol edin. Adından sonra bir boşluk var gibi görünüyor.


Aman Tanrım. Çok aptalca. Ama teşekkür ederim, bu beni biraz zaman kazandırdı. :)
jamietelin

3

"Wp_list_pages" veya "get_pages" fonksiyonunun 'derinlik' parametresi ile kaç seviye almak istediğimizi tanımlayabiliriz. Burada, geçerli sayfanın tüm ilk alt düzeyini göstereceğim.

            <?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'
                ));
            ?>

Get_pages işlevinin derinlik bağımsız değişkenine sahip olmadığı veya en azından belgelenmediği anlaşılıyor: developer.wordpress.org/reference/functions/get_pages .
kloddant
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.