WordPress 插件的创建及应用

make-plugin-for-wordpress

插件是 WordPress 系统三个重要的构成要件之一(核心 – core、主题 – theme、插件 – plugin),也是扩展 WordPress 系统核心功能的重要手段,不同于主题主要是在网站风格和用户界面方面对 WordPress 系统进行拓展,插件主要是功能方面的扩展。插件创建涉及的内容非常广泛,本篇文章会对插件创建的基本步骤做介绍,这样可以把插件创建的过程有一个概括性的了解,其它相关内容会在不同的文章中介绍。

我们知道 WordPress 开发有一个基本的原则就是不要对系统核心进行修改,因为这样的修改当系统升级后会被覆盖掉,而且也可能会造成系统的不稳定甚至是带来 Bug。基于这样的考虑,WordPress 提供了多种方案可以实现系统扩展的需要,而插件就是一个重要的方法。插件在对系统功能方面进行扩展是非常灵活的,根据需求可以简单也可以复杂,而且插件是建立在系统核心之上的独立组件,系统及主题升级不会影响到插件本身,只需要做好兼容性测试并视情况做调整即可。

插件相当于一个应用功能包,其中可以包含代码(Php、JavaScript)、图片、样式(Css)、语言等几个主要部分,如果插件只是提供简单的功能,那往往仅提供一个主代码文件(Php)就可以了,复杂的插件则需要更多的构成要件,可以根据需求组合使用上面提到的几个构件。下面开始介绍插件创建的步骤和方法:

一、插件的目录框架

创建插件首先就是要建立一个存放插件文件的目录,通常的建议就是在WordPress 的 plugins 目录下建立一个插件的子目录,比如 wp-content/plugins/myplugin,然后再根据需求分别在插件目录下创建 css、js、images、includes、languages 子目录,用来存放样式、图片、功能代码、语言文件等。

二、插件的主程序代码文件

建立完插件目录后,接下来就需要创建插件的主程序代码文件了,这个主程序代码文件的头部需要使用标准格式的内容,重点就是对插件进行命名,如下所示:

<?php
/**
*Plugin Name: My plugin name
*Plugin URI: https://www.example.com
*Description: Plugin description
*Version: 0.0.1
*Author: Author name
*Author URI: https://www.example.com/author
*License: GPL
*License URI: https://www.gnu.org/licenses/gpl-2.0.html
*Text Domain: My plugin text
*Domain Path: /languages
*/

上面的文件头唯一强制要求的就是第一行插件名称,这个名称也是出现在后台管理工具的插件列表中的名字,Text Domain/Domain Path 是插件支持多语言的时候用到的定义。当这个插件的主程序代码文件建立好后,在后台管理工具插件列表中就可以看到这个插件了,虽然还没有具体的内容,但插件的定义其实就是这么简单。

三、插件启用/停用时的处理

当插件安装完成后,需要在管理工具中启用才能激活并使用,如果不使用插件了,需要停用插件。插件在启用或者停用时一般都会做一些常规化处理,比如启用的时候显示插件的后台管理界面,初始化插件相关的参数,创建数据库表等,而停用插件的时候做反向操作。WordPress 提供了两个钩链来分别做这样的处理,如下所示:

1、启用插件的钩链

register_activation_hook( _FILE_, ‘plugin_activation_function’ );
function plugin_callback_function() {
/* 插件启用初始化代码 … */
}

2、停用插件的钩链

register_deactivation_hook( _FILE_, ‘plugin_deactivation_function’ );
function plugin_deactivation_function() {
/* 插件停用处理代码 … */
}

四、插件卸载时的处理

当插件卸载的时候,可能需要做一些清理的操作,这时候可以使用卸载钩链来处理,代码如下所示:

register_uninstall_hook(_FILE_, ‘plugin_uninstall_function’);
function plugin_uninstall_function() {
/* 插件卸载处理代码 … */
}

五、一些常用函数

在插件的开发中,会经常用到一些函数,下面初步介绍一下,详细的说明可以到官网的插件开发手册中查看。

plugins_url():返回插件相关文件的 URL 地址,比如 plugins_url( ‘/css/mystyle.css’, _FILE_ ) 就会返回 example.com/wp-content/plugins/css/myplugin/mystyle.css
plugin_dir_path():返回插件相关文件所在目录路径
get_template_directory_uri():返回主题模板所在目录的 URL 地址
home_url():返回网站的 URL 地址
is_single():当前的执行点是否处在单一文章处理的过程中
is_admin():当前执行点是否处在管理操作界面中
wp_enqueue_script:把 JavaScript 文件引用放到 Html 页面中
wp_localize_script:把Php中定义的变量值传递到 JavaScript 文件中

以上就是 WordPress 插件创建的基本步骤和方法,在下一篇文章中,将会实现一个具体的插件来详细介绍上述方法的应用。

发表评论

邮箱地址不会被公开。 必填项已用*标注