说明

这是一个极为简单的插件,实现一个极为简单功能,旨在记录自己的wordpress插件开发学习过程,并与他人交流。

插件功能

在日志中显示版本信息。写文章时,如果此文章为原创,则可以插入字符,在文章显示时将这串字符替换为版本信息。

具体实现

1. 建立目录或文件

按照wordpress插件开发规则,为插件建立一个目录,名称随便,MyCopyright。或不建立目录,只创建一个php文件即可 在MyCopyright目录下创建一个php文件。这个文件包含了插件的具体实现代码。此例中取名为myCopyright.php

2. 编辑插件信息。

在myCopyright.php文件的开始插入代码模块.(具体代码在下方会总体发布)

3. 在插件管理页面中显示你的插件菜单

即让你的插件在启用之后能在后台的插件管理页面中显示出来。

函数名尽量不要与别人重复

cutefool_add_options_page函数,此处调用的是wordpress模板函数 add_options_page(page_title, menu_title,access_level/capability, file, [function]);

参数作用一目了然。对照本例,即在后台管理加入一个”MyCopyright Config”的menu,页面名称为”MyCopyright”,显示的页面为’myCopyright.php’,在此页面中调用的函数为 ‘cutefool_myCopyright_mainpage’。而它的对于权限为8的用户是可见的。

关于用户权限,请参照wordpress官方文档的介绍:User level
由此可见,我们必须有编写好的cutefool_myCopyright_mainpage函数,才能在插件管理页面中显示具体的内容来。(待确认:如果函数名为空呢?)

4. 编写管理页面函数

即本例中的cutefool_myCopyright_mainpage函数。按步骤三的设置,显示插件管理页面时即调用此函数。

极为简单,只有一句输出:(具体代码在下方会总体发布)

5. 编写具体的插件实现方法

代码一看就明白。在文件中只有遇到就替换成想要的版权文字
这里由于wordpress默认编码为 UTF-8,所以其中的中文要以UTF-8编码插入,

否则在页面上显示为乱码。

6. 调用Hooks

即,规定什么时候调用插件,以及插件中的哪些函数(具体代码在下方会总体发布)

第一句,定义了在执行admin_menu操作时,调用cutefool_add_options_page。这样就达到了在菜单中显示本插件的目的。

第二句,定义了在执行the_conent函数时,调用本插件中的cutefool_copyright,实现了插件的功能。

7. 规定在插件管理中显示此插件(具体代码在下方会总体发布)

8. 到此,MyCopyright插件编写完成。

上传到插件目录,启用,测试即可。

完整代码(myCopyright.php):

/*

Plugin Name:MyCopyright

Version: 0.0.1

Plugin URI: [url]https://www.ccjk.com[/url]

Author: Jackson – ccjk.com

Author URI: [url]https://www.ccjk.com[/url]

Description: show copyright once there are letters match

.and you should config your copyright information in this file,with this verison.

*/

//规定在插件管理中显示此插件

if (function_exists ( “is_plugin_page” ) && is_plugin_page ()) {

cutefool_myCopyright_mainpage ();

return;

}

/*在插件管理页面中显示你的插件菜单*/

function cutefool_add_options_page() {

add_options_page ( ‘MyCopyright’, ‘MyCopyright Config’, 8, ‘myCopyright.php’, ‘cutefool_myCopyright_mainpage’ );

}

//管理页面函数

function cutefool_myCopyright_mainpage() {

echo “ccjk plugins is active…”;

}

//插件的实现方法

function cutefool_showcoryright($content) {

$search = “Coryright”;

$replace = “Coryright CCJK Jackson

CCJK.com
“;

echo $content;

return $content;

}

function text($content){

echo ‘12312312123123123’;

}

add_action(‘admin_menu’, ‘cutefool_add_options_page’);

add_filter(‘the_content’, ‘cutefool_showcoryright’);

?>