2016-04-24 5 views
0

Я застрял часами, пытаясь заказать get_pages() объект из wordpress. (get_pages->menu_order);Как заказать многомерные массивы PHP

Я пытался несколько функций PHP, но никто не работал в этой цели.

PHP

foreach(get_pages(pll_current_language()) as $page) { 

    // Somewhere here each page should go up/down in order to be DESC/ASC 

    $template = get_post_meta($page->ID, '_wp_page_template', true); 
    include_once($template); 

} 

Мой вопрос, как я могу заказать этот объект одним из его значений, пример:

Я хочу заказать get_pages() от get_pages () -> menu_order

Любая помощь будет оценена по достоинству.

+2

только с помощью '$ опций args' из документации? https://codex.wordpress.org/Function_Reference/get_pages – 0x13a

+0

Спасибо @DiegoMariani, он работал так мило. Я должен чаще проверять документы. Все самое лучшее mate :) – Vladimir

+1

u're welcome :) – 0x13a

ответ

3

просто использовать массив $args опций и установите sort_order, sort_column на то, что вам нужно, проверить документыhttps://codex.wordpress.org/Function_Reference/get_pages

$args = [ 
    'sort_order' => 'asc', 
    'sort_column' => 'menu_order' 
]; 

$pages = get_pages($args); 
1

Возможно, вы захотите использовать функцию usort. Вы предоставляете ему функцию сравнения (в вашем случае функция, которая сравнивает $a->menu_order с $b->menu_order), и затем она будет использовать ее для сортировки элементов в вашем массиве.

+0

Спасибо, я попробую. – Vladimir

+2

Взгляните на комментарий ДиегоМариани. Возможно, вам даже не нужно делать сортировку в PHP. – Chris

+0

Да @Chris Я пробовал это и работал, однако спасибо за ваш ответ – Vladimir

Смежные вопросы