Question

Je suis en train d'utiliser le paramètre orderby dans la fonction get_children comme suit:

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

Mais il est sans effet sur le résultat; il ordonne encore à la date de création par défaut.

Toutes les idées?

Était-ce utile?

La solution

Êtes-vous sûr d'avoir besoin de cette fonction spécifique? Documentation (le Codex et en ligne) est verrry confusion. Et il va chercher soi-disant des choses comme des pièces jointes, qui ne sont probablement pas pertinentes pour la navigation ...

Essayez ceci:

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

Autres conseils

L'argument 'orderby' devrait travailler avec get_children() parce get_children() est vraiment juste une enveloppe autour get_posts() avec un autre ensemble de valeurs par défaut. L'ordre du menu se réfère à la Commander spécifié dans la zone meta Attributs lors de l'édition d'une page ... pas à l'ordre dans lequel vous avez trié un menu personnalisé dans.

Vous pouvez utiliser le $args dans get_children, mais vous assurer également spécifier l'ID message que vous souhaitez récupérer les enfants de, même si ce sont les enfants actuels de page que vous souhaitez

get_children( array(
    'post_parent' => $post->ID,
    'orderby' => 'menu_order',
    'order' => 'ASC'
)); 
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top