function clearwidgets(){
//stuff here only runs once, when the theme is activated for the 1st time
}
register_activation_hook(__FILE__, \'clearwidgets\');
我试图执行的代码是:
add_filter( \'sidebars_widgets\', \'unset_sidebar_widget\' );
function unset_sidebar_widget( $sidebars_widgets ) {
unset( $sidebars_widgets[ \'$sidebar_id\' ] );
return $sidebars_widgets;
}
这意味着第一次安装主题时,应该清除WordPress设置的所有默认小部件。
因为没有达到预期的结果,我哪里做错了?请向我建议修复方法或指导我的方向,以便我可以进行故障排除。
SO网友:ChristopherJones
使用WordPress Options API存储标志(无论是否为第一个开关)怎么样:https://codex.wordpress.org/Options_API
<?php
add_action(\'after_switch_theme\', \'setup_theme_options\');
function setup_theme_options () {
if(get_option(\'first_theme_activation\') === false){
// Set a flag if the theme activation happened
add_option(\'first_theme_activation\', true, \'\', false);
// stuff here only runs once, when the theme is activated for the 1st time
}
}
回到Jacob Peattie的便条上,
register_activation_hook()
用于插件使用,不用于主题切换。而令人不安的内容可能会变得棘手,因为你不知道那里有什么。
不管怎样,我希望这些答案能有所帮助!