it-swarm.dev

get_children () Nepracuje s objednávkovým parametrem

Snažím se použít parametr orderby ve funkci get_children:

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

Nemá však žádný vliv na výsledek; je stále objednáno podle výchozího data vytvoření.

Nějaké nápady?

5
Matt Humphrey

Opravdu potřebujete tuto specifickou funkci? Dokumentace (Codex i inline) je verrry matoucí. A údajně přitahuje věci jako přílohy, které pravděpodobně nejsou pro navigaci relevantní ...

Zkuste to:

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

Argument 'orderby' by měl pracovat s get_children(), protože get_children() je opravdu jen obal kolem get_posts() s jinou sadou výchozích hodnot. Pořadí nabídek odkazuje na Order zadané v atributech stránky meta při úpravách stránky ... ne na pořadí, ve kterém jste si vytvořili vlastní nabídku.

4
goldenapples

Můžete použít $args v get_children, ale ujistěte se, že také zadáte ID příspěvku, ze kterého chcete načíst děti, a to i v případě, že se jedná o aktuální stránku, kterou chcete zobrazit.

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