it-swarm.com.de

get_children () Funktioniert nicht mit orderby Parameter

Ich versuche, den Parameter orderby in der Funktion get_children wie folgt zu verwenden:

$navigation = get_children(array(
  'post_parent' => $parent->ID,
  'orderby' => 'menu_order'
));

Aber es hat keine Auswirkung auf das Ergebnis; Es wird noch nach dem Standarderstellungsdatum bestellt.

Irgendwelche Ideen?

5
Matt Humphrey

Sind Sie sicher, dass Sie diese spezielle Funktion benötigen? Die Dokumentation (sowohl Codex als auch Inline) ist sehr verwirrend. Und es holt angeblich Dinge wie Anhänge, die für die Navigation wahrscheinlich nicht relevant sind ...

Versuche dies:

get_posts( array(
    'post_type' => 'page',
    'post_parent' => $parent->ID,
    'orderby' => 'menu_order'
) );
12
Rarst

Das Argument 'orderby' sollte mit get_children() funktionieren, da get_children() eigentlich nur ein Wrapper um get_posts() mit anderen Standardwerten ist. Die Menüreihenfolge bezieht sich auf die Reihenfolge , die im Feld Seitenattribute Meta angegeben ist, wenn eine Seite bearbeitet wird ... nicht auf die Reihenfolge, in der Sie ein benutzerdefiniertes Menü sortiert haben.

4
goldenapples

Sie können den $args in get_children verwenden, aber Sie müssen auch die Beitrags-ID angeben, von der Sie Kinder abrufen möchten, auch wenn es sich um die aktuelle Seite handelt, von der Sie Kinder möchten

get_children( array(
    'post_parent' => $post->ID,
    'orderby' => 'menu_order',
    'order' => 'ASC'
)); 
1
Rick