管理插件停用和卸载
简介
当商家停用或卸载您的插件时,您需要处理一些清理任务。本指南简要概述了您在定义插件的停用和卸载逻辑时,需要考虑的一些 WooCommerce 特定的事项。
移除计划的任务
如果您的插件使用 Action Scheduler 来排队任何后台任务,那么在您的插件被卸载或停用时,重要的是要取消这些任务的计划。
as_unschedule_all_actions( $hook, $args, $group );
您可以阅读更多关于使用 Action Scheduler 来管理后台处理的信息,请参考 Action Scheduler API 参考。
移除管理后台通知
如果您为商家创建了任何通知,您应该在您的插件被停用或,至少,在它被卸载时删除这些通知。
function my_great_extension_deactivate() {
ExampleNote::possibly_delete_note();
}
register_deactivation_hook( __FILE__, 'my_great_extension_deactivate' );
上面的示例假设您遵循了本指南推荐的模式,即创建将通知作为专用类,并包含 WooCommerce Admin 提供的 NoteTraits 特性。 这种方法为您的通知提供了内置的功能,简化了通知的操作,例如创建和删除。
移除管理后台任务
当您的插件被停用或卸载时,您应该采取措施来注销您的插件为商家创建的任何任务。
// 注销任务。
function my_extension_deactivate_task() {
remove_filter( 'woocommerce_get_registered_extended_tasks', 'my_extension_register_the_task', 10, 1 );
}
register_deactivation_hook( __FILE__, 'my_extension_deactivate_task' );
请记住,商家任务的管理采用一种混合方法,涉及 PHP 和 JavaScript,因此客户端注册仅在您的插件的 JavaScript 运行时发生。
注销导航
当您的插件停用和卸载时,您对 WooCommerce 导航所做的任何注册将自动处理。
WordPress 清理任务
根据您的插件在激活和运行时对底层 WordPress 环境所做的修改类型,您可能需要考虑一些额外的措施,以便在您的插件被停用或卸载时进行清理。 您可以阅读更多关于处理停用和卸载的信息,请参考 WordPress 插件开发者手册。