У меня проблемы с поиском ключа к этому.
У меня есть функция, которая берет список данных 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');
Проблема возникла из функции addNewColors (). Это не было необходимо, и варианты в Гутенберге теперь выглядят хорошо. Нажатие на переменную не требовалось.
add_theme_support('editor-color-palette', $new_palette);
Других решений пока нет …