Особый порядок

Я пытаюсь выяснить, как отображать категории в определенном порядке. Скажем, мои идентификаторы категории находятся в следующем порядке: 1,3,4,2,5

Я хочу показать категории в этой последовательности. Вот следующий код, который у меня есть до сих пор, но он не работает:

$args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'front_order_id', 'order' => 'ASC', 'hide_empty' => 0, 'hierarchical' => 1, 'exclude' => 1, 'include' => '1,3,4,2,5', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => false ); $categories = get_categories($args); 

Solutions Collecting From Web of "Особый порядок"

РЕДАКТИРОВАТЬ

Я действительно не знаю решения в WordPress, чтобы сортировать, как вам нужно. Я считаю, что лучше всего использовать сортировку php для сортировки возвращаемого массива по мере необходимости

Вот как это сделать:

  1. Получите массив информации категории, как обычно

     $categories = get_categories($args); 

$categories будет содержать массив из пяти категорий, возвращаемых из базы данных

  1. Теперь вам нужно создать массив с желаемым порядком сортировки

     $keys = [1,3,4,2,5]; 
  2. Теперь вы собираетесь комбинировать $keys и $categories с array_combine . Мы будем использовать значения Skeys для ключей для нашего нового комбинированного массива

     $categories_rearranged = array_combine( $keys, $categories ); 
  3. На этом этапе ваш массив не будет сортироваться естественным образом, поэтому с помощью ksort свой массив так, чтобы он упорядочивался естественным образом

     ksort($categories_rearranged); 
  4. $categories_rearranged теперь будет массивом, который вы будете использовать и будет передан в ваш цикл foreach

     foreach ( $categories_rearranged as $category ) { echo $category->name; } 

ОРИГИНАЛЬНЫЙ ОТВЕТ

Код поможет вам. Посмотрите на get_categories() и, в частности, на следующие параметры

Сортировать по

(строка) Сортировка категорий по алфавиту или по уникальному идентификатору категории. По умолчанию используется сортировка по имени. Допустимые значения:

  • Я бы

  • name – default

  • слизень

  • подсчитывать

  • term_group

Вы можете видеть, что вы передаете недопустимый параметр в orderby

Параметры include и exclude не могут использоваться вместе

Можете ли вы показать, что вы получаете?

Если вы ничего не получаете, возможно, поэтому:

 'child_of' => 0 

Кроме того, что это?

 'orderby' => 'front_order_id', 

Кроме того, это не меняет порядок:

 'include' => '1,3,4,2,5', 

проверьте это http://codex.wordpress.org/Function_Reference/get_categories