Организация массивов внутри массивов - PullRequest
0 голосов
/ 12 декабря 2018

У меня проблемы с поиском ключа к этому.

У меня есть функция, которая берет список данных JSON и формирует его в многомерный массив php.Я пытаюсь подключить этот массив к функции add_theme_support для Wordpress, чтобы добавить некоторые параметры цвета.

По какой-то причине создаваемые мной массивы не будут приняты в функцию add_theme_support.

$json_data = file_get_contents();  // url here
$decodey = json_decode($json_data, true);
$new_palette = array(); 
$palette_colors = array_values($new_palette);

 //loop through JSON to get php arrays
for ($i = 0; $i < sizeof($decodey['list']['colors'][0]['colors']); $i++){

 $colorName = $decodey['list']['colors'][0]['colors'][$i]['name'];
 $colorName = trim($colorName);
 $pattern = '/!/';
 $replacement = '';

 $colorName = preg_replace($pattern, $replacement, $colorName);
 //echo $colorName;

 $colorSlug = str_replace(' ', '-', strtolower($colorName));
//echo $colorSlug;

$colorCode = $decodey['list']['colors'][0]['colors'][$i]['value'];
//echo $colorCode;

//create new array for each color
$newColorItem = array( 'name' => $colorName,
  'slug' => $colorSlug,
  'color' => $colorCode,
);
//push color arrays to empty array
$new_palette[] = array( 'name' =>  $colorName,
'slug' => $colorSlug,
'color' => $colorCode,
);
} //end loop

function addNewColors(){
add_theme_support('editor-color-palette', 
    array( 
        //this doesn't work
        $new_palette
    )
 );
}
add_action( 'after_setup_theme', 'addNewColors');

1 Ответ

0 голосов
/ 12 декабря 2018

Проблема возникла из функции addNewColors ().Это не было необходимо, и варианты в Гутенберге теперь выглядят хорошо.Нажатие на переменную не требовалось.

add_theme_support('editor-color-palette', $new_palette);
...