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' );
(0)

相关推荐

  • WordPress中设置Post Type自定义文章类型的实例教程

    什么是自定义post? 不要想当然的认为这里的post就是就是指博客中的文章,它只不过是一个文章类的代理词而已,甚至你还可以认为它是内容. 自定义模型是没有一个很标准的什么规定的,文章模型可以是你想的任何一个内容模型,就拿wordpress本身来说就内置了以下几个内容文章模型: 博客文章 页面 附件 修正 导航等 你可以这样去理解:它只要是想我们使用博客文章那样用来创建.编辑和储存数据的一种很灵活的内容形式. 不过在这里我还是需要提醒下,博客内置的post还是有点点不同的,你可以利用它含有分类.

  • WordPress中获取指定分类及其子分类下的文章数目

    获取特定分类文章数 有时候我们想获取某个分类(category)下的文章数目,以便在博客的某个地方显示出来.下面就提供几个获取特定分类的文章数的方法,你可以根据个人喜好选择: 方法一: 将以下PHP代码放置在主题目录下的functions.php中: function wt_get_category_count($input = '') { global $wpdb; if($input == '') { $category = get_the_category(); return $categ

  • WordPress中用于获取文章作者与分类信息的方法整理

    作者 查询和某些作者(用户)有关的文章,可以使用 4 个参数: author(整数):用户 ID author_name(字符串):用户的昵称("user_nicename" 字段) author__in(数组):用户 ID author__not_in(数组):用户 ID 获取一个作者的文章 根据用户 ID 获取: $query = new WP_Query( 'author=123' ); 根据用户的昵称("user_nicename" 字段)获取: $quer

  • WordPress中用于获取文章信息以及分类链接的函数用法

    get_post()(获取一篇文章) get_post() 函数可以根据 ID 查询一篇文章的信息,还能返回循环中的当前文章. 用法 get_post( $post, $output, $filter ); 参数 $id (整数 | 对象)(可选)文章 ID 或者文章对象,如果为空则自动设置成当前文章. 默认值:null(当前文章) $output (字符串)(可选)返回结果的形式,可选: OBJECT:返回一个文章对象 ARRAY_A:返回带键值的数组 ARRAY_N:返回不带键值的数组 默认

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

    插件卸载 在开发插件的过程中,免不了在数据库创建一些字段乃至表,或者创建了一些定时任务,当插件被删除的时候这些东西就会被留在 WordPress 上,变成垃圾,作为负责的开发者,有必要在删除插件的时候帮助用户删除掉我们留下的痕迹. uninstall.php 文件 做到这点有两种方法,一时在插件的根目录创建一个 uninstall.php 文件,在你的插件被删除之前会调用执行这个文件,但要注意就是防止有人恶意访问这个文件我们需要判断一下 WP_UNINSTALL_PLUGIN 常量是否被定义,没

  • Java中两个大数之间的相关运算及BigInteger代码示例

    Java中两个大数之间的相关运算及BigInteger两段实例代码,具体如下. 大数相减 import java.util.Scanner; /* 进行大数相减,只能对两个正数进行相减 */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); String a,b; while (scan.hasNext()) { BigNumber big=

  • .NET中 关于脏读 不可重复读与幻读的代码示例

    并发可能产生的三种问题 脏读 定义:A事务执行过程中B事务读取了A事务的修改,但是A事务并没有结束(提交),A事务后来可能成功也可能失败. 比喻:A修改了源代码并且并没有提交到源代码系统,A直接通过QQ将代码发给了B,A后来取消了修改. 代码示例 复制代码 代码如下: [TestMethod]         public void 脏读_测试()         {             //前置条件             using (var context = new TestEnti

  • 在WordPress中使用wp_count_posts函数来统计文章数量

    做一个全站统计是不是很酷?长久的博客越来越少,何不给自己的一个统计,看看自己在这个博客上努力了多少,不但给自己也给游客,wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page). 描述 wp_count_posts是在 WordPress 中用来统计文章数量的函数,可以统计所有类型的文章(post)和页面(page). 使用 //获取文章数量 $postcount = wp_count_posts(); //获取页面数量

  • WordPress中限制非管理员用户在文章后只能评论一次

    之前有网友提出,在WordPress中有没有办法实现每篇文章只允许用户评论一次? 暂不说这个需求有没有用,毕竟WordPress就是给有各种需求的人用的.这个功能实现起来也比较简单,只需每次用户发表的评论进数据库之前,从当前文章的所有评论中查找是否有相同的用户名或邮箱已经发表过评论,如果有就跳到错误页面即可. 实现代码,放到当前主题的functions.php中即可(这里还增加了对IP的判断,更保险): // 获取评论用户的ip,参考wp-includes/comment.php functio

  • 在WordPress中加入Google搜索功能的简单步骤讲解

    网上诸多写怎么在 WordPress 中整合谷歌自定义搜索的文章,但很少有提到如何整合v2版代码的,今天通过实测来给大家讲解一下,如何实现在 WordPress中整合谷歌自定义搜索的. 获取谷歌自定义搜索代码 进入http://www.google.com/cse/ 谷歌各系列账号都是通用的, 所以如果你有gmail的话你就可以顺利进入这个自定义搜索的系统 一系列的注册.登陆你就进入到了 cse 主界面了,网速有时候会些许蛋疼的慢,所以大家要有耐心. 进入主界面点 新建搜索引擎 如下图所示填写内

  • vue中jsonp插件的使用方法示例

    通过jsonp简单获取接口数据,对了,注意下jsonp方法会自动添加callback <template> <div class="sky"> <h3>获取城市:</h3> <div class="skycon"></div> </div> </template> <script> //导入jsonp插件 import jsonp from 'jsonp';

  • 几个优化WordPress中JavaScript加载体验的插件介绍

    WordPress 本身以及主题和插件通常需要加载一些 JavaScript 来实现某些特殊功能.为了最大限度地保证兼容性,不至于出现 JavaScript 失效的情况,所以一般在页头加载 JavaScript 文件.但是根据 Yahoo 开发者论坛的建议,加载 JavaScript 应该尽量在页尾以提高页面的显示(响应.渲染)速度.本文根据作者的使用经验介绍几个相关插件,并说明如何在某些特殊页面仍然在页头加载 JavaScript. 下面先简单介绍几个相关的优化 JavaScript 的 Wo

  • WordPress中给文章添加自定义字段及后台编辑功能区域

    add_post_meta add_post_meta 函数是 WordPress 中用来给文章或页面添加自定义字段值的一个函数, 其用法与在编写文章时在文章编写界面中利用自定义栏目面板为文章添加自定义字段值的效果是一样的. add_post_meta函数描述 为文章添加自定义字段. 常见的使用有:文章浏览次数.喜欢按钮.seo插件等常用插件就是使用的自定义字段功能. 参数详解 add_post_meta($post_id, $meta_key, $meta_value,$unique); $p

  • 修改WordPress中文章编辑器的样式的方法详解

    自定义文章编辑器的样式 每一个 WordPress 主题的文章样式都是不一样的,但是在使用后台的可视化编辑器编辑文章的时候,样式却都是一致的. 但是 WordPress 提供了一个在文章可视化编辑器中自定义样式的功能,利用这个功能可以在 WordPress 可视化编辑器里自定义 CSS 样式. 把可视化编辑器的样式设置成和前端一样,可以方便用户直接预览出文章显示在前端的结果,不用刷新反复的调试文章排版样式. 在文章编辑器添加一个自定义的 CSS 样式表只需要使用 add_editor_style

随机推荐