get_children () ne fonctionne pas avec orderby Paramètre
-
16-10-2019 - |
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?
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'
));