删除主题后的 Wordpress 钩子

Wordpress hook after theme is deleted

我在 wordpress 中创建主题,现在我在外观中创建了一些主题选项页面。 现在,如果用户从系统中删除主题,我想从数据库中删除任何数据。

function register_my_setting() {
    register_setting( 'settings_grup', 'array_post_redirect');
} 
add_action( 'admin_init', 'register_my_setting' );

现在我想删除选项,但我找到的唯一解决方案是 hook: switch_theme 和 unregister_setting 函数。有没有更好的挂钩来执行此操作?

function un_register_my_setting() {
    unregister_setting ( 'settings_grup', 'array_post_redirect');
} 
add_action( 'switch_theme', 'un_register_my_setting' );

有一个非常好的教程 here 向您展示了如何为您的主题创建 register_deactivation_hook。默认情况下,Wordpress 没有主题(如插件)的此功能,但稍作调整,您可以复制主题的行为。

作为参考,它曾经是这样做的(我相信 3.1 之前):

if ( is_admin() && isset($_GET['activated'] ) && $pagenow == "themes.php" ) { 
     // do your stuff 
}