微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WordPress中卸载插件以及移除文章类型组件的代码示例

这篇文章主要介绍了wordpress中卸载插件以及移除文章类型组件的代码示例,包括卸载函数钩子的方法介绍,需要的朋友可以参考下

插件卸载

在开发插件的过程中,免不了在数据库创建一些字段乃至表,或者创建了一些定时任务,当插件删除的时候这些东西就会被留在 wordpress 上,变成垃圾,作为负责的开发者,有必要在删除插件的时候帮助用户删除掉我们留下的痕迹。

uninstall.PHP 文件

做到这点有两种方法,一时在插件的根目录创建一个 uninstall.PHP 文件,在你的插件删除之前会调用执行这个文件,但要注意就是防止有人恶意访问这个文件我们需要判断一下 WP_UNINSTALL_PLUGIN 常量是否被定义,没定义则结束程序:

PHP //防止有人恶意访问此文件,所以在没有 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

比如移除掉自带的 “文章文章类型评论功能

/** *移除文章评论功能 *http://www.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' );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐