有很多 wordpress 方面的教程,也有很多 WordPress 插件方面的推荐和教程,但是 WordPress 插件开发方面的教程却没有。网络上也有一些插件开发的系列文章,不过好像都没有想过要去搬砖,一个优秀的插件都是从 0 开始的,所以我们从创建插件开始。
创建一个插件
在 wp-content/plugins 创建一个文件夹,命名最好加前缀,WordPress 官方现在应该收录了有 50000 多个插件,所以要起一个特殊的名称,防止插件和别人重名。
再创建一个 PHP 文件名字和你的插件名类似或一样,我这里以前段时间开发的 PushWordPressToWeChat 为例,创建一个 PushWordPressToWeChat.php 文件,然后为了让 WordPress 后台能够识别我们的插件,还需要按照它的标准增加插件信息。
/* Plugin Name: Push WordPress To WeChat Plugin URI: https://qq52o.me/2650.html Description: 基于 PushBear 服务提供 WordPress 内容更新微信订阅推送的插件 Author: 沈唁 Version: 1.0.0 Author URI: https://qq52o.me */
启用插件
function pwtw_submit_default_options() { // 获取选项 $default = get_option('PushWordPressToWeChat'); if($default == '') { // 设置默认数据 $default = array( 'SendKey' => '', 'Default' => '', 'Delete' => '', ); //更新选项 update_option('PushWordPressToWeChat', $default); } } register_activation_hook( __FILE__, 'pwtw_submit_default_options' );
停用插件
我们的插件建议还是提供一个选项让用户选择,停用时是否删除我们插件给 wp_options 表中增加的字段,避免数据库脏数据过多。这个时候可以使用 register_deactivation_hook 方法回调。
function pwtw_stop_option() { $option = get_option('PushWordPressToWeChat'); if ($option['Delete']) { delete_option("PushWordPressToWeChat"); } } register_deactivation_hook(__FILE__, 'pwtw_stop_option');
删除插件
<?php // 判断是不是从 WordPress 后台调用的 if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { exit; } delete_option("PushWordPressToWeChat"); ?>