Pregunta

Estoy tratando de utilizar el parámetro orderby en la función get_children como a continuación:

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

Sin embargo, no está teniendo ningún efecto en el resultado; todavía está ordenando por la fecha de creación por defecto.

¿Alguna idea?

¿Fue útil?

Solución

¿Está seguro de que necesita esta función específica? Documentación (tanto en el Codex y en línea) es muuuy confuso. Y se supone que va a buscar cosas como archivos adjuntos, que probablemente no son relevantes para la navegación ...

Prueba esto:

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

Otros consejos

El argumento 'orderby' debe trabajar con get_children() porque get_children() es en realidad sólo una envoltura alrededor de get_posts() con un conjunto diferente de valores predeterminados. El orden de los menús se refiere a la Solicitar especificado en la Atributos de página meta al editar una página ... no a la orden que haya ordenado un menú personalizado en.

Puede utilizar el $args en get_children, pero asegúrese de que también especifique el ID del mensaje que desea recuperar a los niños de, incluso si se trata de los hijos de la página actual que desea

get_children( array(
    'post_parent' => $post->ID,
    'orderby' => 'menu_order',
    'order' => 'ASC'
)); 
Licenciado bajo: CC-BY-SA con atribución
scroll top