Flask接口签名sign原理与实例代码浅析
227
2023-07-23
WordPress中卸载插件以及移除文章类型组件的代码示例
插件卸载
在开发插件的过程中,免不了在数据库创建一些字段乃至表,或者创建了一些定时任务,当插件被删除的时候这些东西就会被留在 WordPress 上,变成垃圾,作为负责的开发者,有必要在删除插件的时候帮助用户删除掉我们留下的痕迹。
uninstall.php 文件
做到这点有两种方法,一时在插件的根目录创建一个 uninstall.php 文件,在你的插件被删除之前会调用执行这个文件,但要注意就是防止有人恶意访问这个文件我们需要判断一下 WP_UNINSTALL_PLUGIN 常量是否被定义,没定义则结束程序:
//防止有人恶意访问此文件,所以在没有 WP_UNINSTALL_PLUGIN 常量的情况下结束程序
if( !defined( 'WP_UNINSTALL_PLUGIN' ) ) exit();
//可以在要卸载的时候做一些事情,比如删除一些字段,注销定时任务
delete_option( 'endskin_name' );
delete_option( 'endskin_name2' );
卸载钩子
第二种方法叫做卸载钩子,在你的根目录没有 uninstall.php 文件的时候 WordPress 会去执行卸载钩子。
例子:
register_uninstall_hook( __FILE__, 'Bing_uninstall_func' );
function Bing_uninstall_func(){
//可以在要卸载的时候做一些事情,比如删除一些字段,注销定时任务
delete_option( 'endskin_name' );
delete_option( 'endskin_name2' );
}
这些代码直接放到插件的文件里即可,不过卸载钩子不能使用类函数,否则会把 $this 保存到数据库里,所以如果不是万不得已请尽可能的使用 uninstall.php 文件。
移除自定义文章类型的部分组件
WordPress 自定义文章类型用很多组件,当我们不需要的时候可以通过 remove_post_type_support() 函数来移除掉,下边是一份可以移除的组件的列表:
title
editor
author
thumbnail
excerpt
trackbacks
custom-fields
comments
revisions
page-attributes
post-formats
比如移除掉自带的 “文章” 文章类型的评论功能:
/*tAcwYE*
*移除文章的评论功能
*http://endskin.com/remove-post-type-support/
*/
function Bing_remove_post_type_support(){
remove_post_type_support( 'post', 'comments' );
}
add_action( 'init', 'Bing_remove_post_type_support' );
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~