WordPress中卸載插件以及移除文章類型組件的代碼示例
插件卸載
在開發(fā)插件的過程中,免不了在數據庫創(chuàng)建一些字段乃至表,或者創(chuàng)建了一些定時任務,當插件被刪除的時候這些東西就會被留在 WordPress 上,變成垃圾,作為負責的開發(fā)者,有必要在刪除插件的時候幫助用戶刪除掉我們留下的痕跡。
uninstall.php 文件
做到這點有兩種方法,一時在插件的根目錄創(chuàng)建一個 uninstall.php 文件,在你的插件被刪除之前會調用執(zhí)行這個文件,但要注意就是防止有人惡意訪問這個文件我們需要判斷一下 WP_UNINSTALL_PLUGIN 常量是否被定義,沒定義則結束程序:
<?php //防止有人惡意訪問此文件,所以在沒有 WP_UNINSTALL_PLUGIN 常量的情況下結束程序 if( !defined( 'WP_UNINSTALL_PLUGIN' ) ) exit(); //可以在要卸載的時候做一些事情,比如刪除一些字段,注銷定時任務 delete_option( 'endskin_name' ); delete_option( 'endskin_name2' );
卸載鉤子
第二種方法叫做卸載鉤子,在你的根目錄沒有 uninstall.php 文件的時候 WordPress 會去執(zhí)行卸載鉤子。
例子:
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' );
相關文章
spring?boot整合mongo查詢converter異常排查記錄
這篇文章主要為大家介紹了spring?boot整合mongo查詢時拋出converter異常的排查解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03
最新IDEA?2022基于JVM極致優(yōu)化?IDEA啟動速度的方法
這篇文章主要介紹了IDEA?2022最新版?基于?JVM極致優(yōu)化?IDEA?啟動速度,需要的朋友可以參考下2022-08-08
springboot+mybatis配置clickhouse實現(xiàn)插入查詢功能
這篇文章主要介紹了springboot+mybatis配置clickhouse實現(xiàn)插入查詢功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08

