Я пытаюсь реорганизовать массив PHP (на странице WordPress). Мой сайт был закодирован кем-то другим, и я пытаюсь сделать вещи лучше. Я думаю, что они делали вещи в замешательстве (плохое использование категорий). Вместо того чтобы перекодировать весь сайт, я хотел посмотреть, сможет ли кто-нибудь помочь мне обойти это исправление.
Итак, в основном, у меня есть массив внутри массива. Список категорий, и каждая категория имеет конкретные детали. Я называю категории, основанные на его родителе. Мне нужно реорганизовать список / массив категорий, чтобы они могли распечатываться в том порядке, в котором они мне нужны.
$cat_tree = get_category_parents(wt_get_category_ID(), FALSE, ':', TRUE);
$top_cat = split(':',$cat_tree);
$parent = $top_cat[0];
$idObj = get_category_by_slug($parent);
$args = array(
'child_of' => $idObj->term_id,
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0);
$counter_c=1;
$categories = get_categories( $args );
if($counter_c == 1) $counter_c = '';
foreach ($categories as $category) {
?>
<div> this is where each category array info gets printed... information goes:<br />
Name: <?=$category->cat_name ?> (<?=$category->cat_ID ?>)
</div>
<?php if($counter_c == '') $counter_c = 1; $counter_c++; } // Reset Query
wp_reset_query();
?>
На одной странице $ cat_tree выводит "entertainment: актеры:".
$ parent или $ topcat [0] выводит "entertainment"
$ topcat [1] выводит "актеры"
Когда запускается «foreach», я получаю список, отсортированный по идентификатору ...
- Актеры (13)
- Художники (14)
- Директора (25)
- Писатели (26)
- DeeJays (35)
Мне нужно реорганизовать этот список в определенный порядок. Каждая страница отличается. Поэтому мне, возможно, придется реорганизовать список по-разному для каждой страницы. Мне может понадобиться ...
- Писатели (26)
- Актеры (13)
- DeeJays (35)
- Художники (14)
- Директора (25)
Итак, мне нужен способ сделать это. Я подумал, что, возможно, я мог бы сказать «если» на «странице актера», передвинуть «Writers» до конца массива (я знаю, что есть какой-то способ сделать это), затем сдвинуть Actors до конца, затем DeeJays, затем Художники, потом режиссеры. Затем запустите foreach.
Или, если страница - это что-то еще, я могу сдвинуть другие элементы в конец массива. Это кажется немного большим, но это единственная работа, о которой я мог подумать. Конечно, мои знания PHP ограничены, поэтому любая помощь приветствуется.