matthumphrey
  • 0
Новичок

get_children() не работает с параметром orderby

  • 0

Я пытаюсь использовать orderby параметр в get_children функции, как показано ниже:

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

Но это не влияет на результат; он по-прежнему упорядочивается по дате создания по умолчанию.

Есть идеи?

Share
  1. Вы уверены, что вам нужна именно эта функция? Документация (как Codex, так и встроенная) очень запутана. И он предположительно извлекает такие вещи, как вложения, которые, вероятно, не имеют отношения к навигации…

    Попробуй это:

    get_posts( array(
        'post_type' => 'page',
        'post_parent' => $parent->ID,
        'orderby' => 'menu_order'
    ) );
    
    • 0
  2. Аргумент 'orderby' должен работать, get_children() потому что get_children() на самом деле это просто оболочка get_posts() с другим набором значений по умолчанию. Порядок меню относится к порядку, указанному в мета-поле Атрибуты страницы при редактировании страницы… не к порядку, в котором вы отсортировали пользовательское меню.

    • 0
  3. Вы можете использовать $args in get_children, но убедитесь, что вы также указали идентификатор сообщения, из которого вы хотите получить дочерние элементы, даже если это текущие дочерние страницы, которые вы хотите

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

Оставить ответ

You must login to add an answer.