WordPress Пользовательский виджет ОБНОВЛЕНИЕ функции и массива

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

Функция обновления создает массив, но не так, как мне нужно. Вот пример такого массива:

Array
(
[title] => Blog Categories
[cat_visibility] => Array
(
[0] => 7
)

[categories] => Array
(
[0] => 1
[1] => 9
)

[URL_term_id] => Array
(
[0] => 1
[1] => 7
[2] => 8
[3] => 9
[4] => 10
)

[URL_title] => Array
(
[0] => Category 1
[1] => Category 2
[2] => Category 3
[3] => Category 4
[4] => Category 5
)

)

Вот мой PHP-код:

public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance[ 'title' ] = strip_tags( $new_instance[ 'title' ] );
$instance[ 'cat_visibility' ] = $new_instance[ 'cat_visibility' ];
$instance[ 'categories' ] = $new_instance['categories'];
$instance[ 'URL_term_id' ] = $new_instance[ 'URL_term_id' ];
$instance[ 'URL_title' ] = $new_instance['URL_title'];
return $instance;
}

И наконец, вот что я пытаюсь достичь:

Array
(
[0] => Array
(
[category_id] => 1
[term_id] => 1
[title] => Category 1
[cat_visibility] =>
)

[1] => Array
(
[category_id] =>
[term_id] => 7
[title] => Category 2
[cat_visibility] => 7
)

[2] => Array
(
[category_id] =>
[term_id] => 8
[title] => Category 3
[cat_visibility] =>
)

[3] => Array
(
[category_id] => 9
[term_id] => 9
[title] => Category 4
[cat_visibility] =>
)

[4] => Array
(
[category_id] =>
[term_id] => 10
[title] => Category 5
[cat_visibility] =>
)

)

До сих пор я пытался преобразовать исходный массив с помощью следующего кода:

$new_object = [];
for($i=0;$i<count($URL_term_id);$i++){
array_push($new_object,
array(
"category_id"=>$cat_id[$i],
"term_id"=>$URL_term_id[$i],
"title"=>$URL_title_id[$i],
"cat_visibility"=>$cat_visibility[$i]
)
);
}

Он создал почти то, что мне нужно, но из-за разницы в ключах не создает нужный мне массив.

Вот что я из этого получаю:

Array
(
[0] => Array
(
[category_id] => 1
[term_id] => 1
[title] => Category 1
[cat_visibility] => 7
)

[1] => Array
(
[category_id] => 9
[term_id] => 7
[title] => Category 2
[cat_visibility] =>
)

[2] => Array
(
[category_id] =>
[term_id] => 8
[title] => Category 3
[cat_visibility] =>
)

[3] => Array
(
[category_id] =>
[term_id] => 9
[title] => Category 4
[cat_visibility] =>
)

[4] => Array
(
[category_id] =>
[term_id] => 10
[title] => Category 5
[cat_visibility] =>
)

)

Любые советы и помощь приветствуются.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector