是的,您必须使用init
如果你想用钩子add_theme_support
来自插件。我已经测试了以下代码作为插件,并为我工作。
<?php
/* Plugin name: Add Color Palette
*/
function mytheme_setup_theme_supported_features()
{
add_theme_support(\'editor-color-palette\', array(
array(
\'name\' => esc_attr__(\'Strong magenta\', \'themeLangDomain\'),
\'slug\' => \'strong-magenta\',
\'color\' => \'#a156b4\',
),
));
}
add_action(\'init\', \'mytheme_setup_theme_supported_features\');
请考虑避免使用
add_theme_support
主题功能之外。php文件。
官方对add_theme_support
:
必须在主题的函数中调用。php文件正常工作。如果连接到挂钩,则必须是“after\\u setup\\u theme”。对于某些功能,“init”钩子可能是toolate。
https://developer.wordpress.org/reference/functions/add_theme_support/