get_pages () & “child_of”

Ich beobachte ein WordPress-Tutorial auf Youtube über get_pages () und “child_of”:

(von 17’28 “bis 18’35”) https://www.youtube.com/watch?v=GHTZn3atTcM

Um zu überprüfen, ob eine Seite untergeordnete (n) hat oder nicht, schlug er vor, get_pages () mit “child_of” zu verwenden, um es zu überprüfen. Also habe ich folgende Struktur erstellt:

About Us - Sub about us // child of about us Contact Us // with no child(ren) 

Es gibt 1 Post für jede Kategorie.

Und dann stelle ich folgendes in die single.php um zu überprüfen:

 $array = get_pages('child_of=' . $post->ID); echo count($array); 

Angenommen, “Über uns” sollte 1 zurückgeben, da es ein Kind hat.

Während für “Sub about us” und “Contact Us” sollte 0 zurückgeben, da beide kein Kind haben.

Aber am Ende kehren alle zurück 0, darf ich wissen, was mache ich falsch?

Missverstehe ich, wie man get_pages () & “child_of” benutzt?

Vielen Dank!

Solutions Collecting From Web of "get_pages () & “child_of”"

Sie verwenden es an der falschen Stelle. Sie können dieselbe function in page.php verwenden und wenn Sie es in single.php verwenden möchten, müssen Sie statische pageId als Parameter übergeben.

Im Moment übergeben Sie $post->ID die die Post-ID des aktuellen Artikels zurückgibt, und die Artikel haben keine Beziehung zu den Seiten.

  $defaults = array( 'depth' => 0, 'show_date' => '', 'date_format' => get_option( 'date_format' ), 'child_of' => 0, 'exclude' => '', 'title_li' => __( 'Pages' ), 'echo' => 1, 'authors' => '', 'sort_column' => 'menu_order, post_title', 'link_before' => '', 'link_after' => '', 'item_spacing' => 'preserve', 'walker' => '', ); $r = wp_parse_args( $args, $defaults ); 

Obiger Code wird alle Seiten zurückgeben. Wenn Sie nun ein Kind von uns bekommen wollen, dann übergeben Sie die PageID von uns in 'child_of' => 0 Parameter. Es wird nur ein Kind von ungefähr uns zurückgeben.

Eine andere Sache, Sie können untergeordnete Seiten der aktuellen Seite mit der folgenden function erhalten.

 $mypages = get_pages( array( 'child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc' ) ); 

Hier müssen Sie diesen Code in page.php oder eine beliebige Seitenvorlage schreiben, dann werden die untergeordneten Seiten der aktuellen Seite zurückgegeben.

Lass es mich wissen, wenn du ein Problem findest.