Что не так с этим массивом? давая мне неверный аргумент для foreach () в функциях. Переполнение стека

Я занимаюсь разработкой WordPress Theme, я использую Redux Framework для получения пользовательских опций. Я хочу создавать виджеты динамически в соответствии с выбранной пользователем категорией. Эти виджеты будут отображаться на странице категорий в выбранном пользовательском интерфейсе определенной категории.

Redux Framework возвращает массив с проверенными и непроверенными категориями. Проверенные категории имеют значение 1, а непроверенные — 0

Ниже приводится вывод, когда я print_r($redcats)

Array
(
[14] => 1
[13] => 1
[7] => 0
[1] => 1
)

В header.php когда я запускаю код только для извлечения индексов, которые содержат значение 1, код работает отлично и дает мне то, что я хочу использовать foreach() loop так что я могу получить название категории и категорию пули позже, как показано ниже,

    $redcats = $mythemeslug['opt_extrac_widgets_selected'];
foreach($redcats as $key=>$val)
{
if($val == 1)
{
echo "Category is ".returncatname1($key)." | and Slug is ".returncatslug1($key)."</br>";
}
}

function returncatslug1($id)
{
$category = get_category( $id );
return $category->slug;
}

function returncatname1($id)
{
$catname = get_cat_name($id);
return $catname;
}

Ниже приведен вывод, так как я запустил целые коды в header.php сначала проверить, все ли хорошо работает:

Category is History | and Slug is history
Category is My Gossipz | and Slug is my-gossipz
Category is Uncategorized | and Slug is uncategorized

но когда я ставлю то же самое foreach loop в functions.php дает мне ошибку

Warning: Invalid argument supplied for foreach() in
C:\xampp\htdocs\wp\wp-content\themes\**themename**\functions.php on line 111

где строка 111 содержит следующий код.

$redcats = $mythemeslug['opt_extrac_widgets_selected'];
foreach($redcats as $key=>$val)
{
//some codes comes in..
}

Интересно, почему я получаю Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\wp\wp-content\themes\**themename**\functions.php on line 111
пока в header.php когда я запускаю тот же код, дают правильные результаты ..

Обратите внимание, что, $mythemeslug['opt_extrac_widgets_selected'] Redux Framework возвращает результаты, и у меня уже есть другие параметры Redux Framework, которые уже используются functions.php и они работают правильно

Для справки: в файле опций Redux Framework код, используемый для получения категорий:

array(
'id'       => 'opt_extrac_widgets_selected',
'type'     => 'checkbox',
'title'    => 'Activate Category to have its own Widgets',
'required' => array( 'opt_extrac_widgets_set', '=', '1' ),//depends on above option.
'data'     => 'categories'
),

2

Решение

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

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

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

По вопросам рекламы [email protected]