开发WordPress插件

WordPress插件容许你对原有的网站进行修改和加强功能,而没必要修改WordPress的核心程序,本文就简单介绍一下如何开发一个本身的Wordpress插件。php

全部的Wordpress插件都存放在网站的wp-contentplugins目录下,每个插件占用一个目录。你首先要想好本身的插件的名字,而后创建一个属于本身插件的目录。程序员

一个好的习惯在是插件目录下创建一个空的index.php,这个文件的做用的防止网站输出这个目录的文件。事实上不少程序员也这样作了,你常常能够看到网站目录下有个30B的index.php,里面只写了一句:Silence is golden.数据库

首先创建一个和插件目录名相同的php文件,在文件头添加一些标准插件信息:浏览器

<php
/*
Plugin Name: 插件名
Plugin URI: 插件的介绍或更新地址
Description: 插件描述
Version: 插件版本,例如 1.0
Author: 插件做者名称
Author URI: 插件做者的连接
License: 许可证,如GPL2
*/

例如:函数

<php
/*
Plugin Name: Codlr
Plugin URI: http://codlr.com
Description: Demo for codlr
Version: 1.0
Author: Pnuts
Author URI: http://pnuts.cc/
License: GPL2
*/

建立好后,就能够在Wordpress的后台控制面板看到新增长的插件了:
图片描述网站

固然这样插件目前尚未任何功能,咱们能够尝试增长一些功能。spa

WordPress的钩子机制插件

要为Wordpress插件增长功能,首先要了解一下Wordpress的钩子机制。文章最前面就说过,Wordpress插件增长网站功能时不会修改Wordpress的核心代码,这个正是靠钩子来实现的:Wordpress对不一样阶段定义了不少钩子,插件将自身的函数注册到相关的钩子上,当WordPress运行到某个阶段,它会检查当前阶段是否有插件注册了函数,若是是,那么函数将被执行。code

例如,在WordPress在把文章的标题发送到浏览器前,会检查是否有插件函数注册了“the_title”的钩子。若是是,标题文本将会传送到注册函数中,插件函数变能够对标题内容进行修改,而函数的返回值最终将会被传送给浏览器。图片

要想在钩子上挂载一个函数,须要使用add_action方法,关于add_action的定义是这样的:

add_action( $tag, $function_to_add, $priority,
         $accepted_args );
?>

其中$tag和$function_to_add是必选的,分别指定了钩子的名字和挂载的函数。而$priority和$accepted_args为可选参数,类型都为整数。$priority用于指定与全部挂载函数的执行顺序。数字越小,执行越早,具备相同优先级的函数在它们被添加到动做的顺序执行,默认为10。$accepted_args为挂钩函数所接受的参数数量,默认为1。

下面给了一个简单的例子,展现如何经过钩子将标题中的英文字母所有转换成大写:

add_action('the_title', function($title) {
    return strtoupper($title);
});

WordPress的钩子不少,这里不能一一介绍,在Wordpress的官方上有详细的说明,惋惜没有中文的:Plugin API/Action Reference。

WordPress的选项机制

WordPress的另外一个重要机制是它的选项机制,它容许插件将一些特定属性保存在数据库中(wp_options表),随时能够更新或查询。它的使用方法很简单:

//添加一个选项
add_option($name, $value, $deprecated, $autoload);

$name(必选)和$value(可选,默认为空)为字符串,分别表示选项的名字和值。$deprecated已通过时了,再也不被Wordpress使用了。$autoload(可选)能够为’yes’或’no’,默认为’yes’,表示这个option是否会被get_alloptions函数自动检索。

另外两个函数分别用来或取和更新选项的:

//更新选项
update_option($option_name, $newvalue);
 
//获取选项
get_option($option);
相关文章
相关标签/搜索