Я хотел бы отредактировать цветовую схему по умолчанию в теме WordPress двадцать пятнадцать из моей детской схемы. Я знаю, как добавить новую цветовую схему, например, в functions.php:
add_filter('twentyfifteen_color_schemes', 'my_custom_color_schemes');
function my_custom_color_schemes( $schemes ) {
$schemes['pinkscheme'] = array(
'label' => __( 'Pinkscheme', 'twentyfifteen' ),
'colors' => array(
'#f1f1f1',
'#C32148',
'#ffffff',
'#333333',
'#333333',
'#f7f7f7',
),
);
return $schemes;
}
Но как я могу изменить схему по умолчанию? если я сделаю это:
add_filter('twentyfifteen_color_schemes', 'my_custom_color_schemes');
function my_custom_color_schemes( $schemes ) {
$schemes['default'] = array(
'label' => __( 'Default', 'twentyfifteen' ),
'colors' => array(
'#f1f1f1',
'#C32148',
'#ffffff',
'#333333',
'#333333',
'#f7f7f7',
),
);
return $schemes;
}
Я думаю, что получу ошибку, потому что я пытаюсь объявить функцию дважды? Или, может быть, не дать ошибку, а изменить обратно, когда функция родителей загружена?
Да, вы можете изменить цветовую схему по умолчанию с помощью:
add_filter('twentyfifteen_color_schemes', 'my_custom_color_schemes');
function my_custom_color_schemes( $schemes ) {
$schemes['default'] = array(
'label' => __( 'Default', 'twentyfifteen' ),
'colors' => array(
'#f1f1f1',
'#C32148',
'#ffffff',
'#333333',
'#333333',
'#f7f7f7',
),
);
return $schemes;
}
Когда тема TwentyFifteen применяет фильтр Twentyfifteen_color_schemes, она передает массив схем $ color из имеющихся у него цветовых схем по умолчанию.
В этом случае вы не переопределяете функцию, а устанавливаете для элемента массива другое значение.
Других решений пока нет …