说明

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

插件功能

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

具体实现

1.建立目录或文件

按照wordpress插件开发规则,为插件建立一个目录,名称随便,如MyCopyright。或不建立目录,只创建一个php文件即可

在MyCopyright目录下创建一个php文件。这个文件包含了插件的具体实现代码。此例中取名为myCopyright.php


2.编辑插件信息。

在myCopyright.php文件的开始插入:

  1. /*
  2. Plugin Name:MyCopyright
  3. Version: 0.0.1
  4. Plugin URI: http://www.cutefool.net
  5. Author: xuyannan - CuteFool.net
  6. Author URI: http://www.cutefool.net
  7. Description: show copyright once there are letters match <!--copyrigth-->.and you should config your copyright information in this file,with this verison.
  8. */

以上信息包含了插件的作者、版本以及描述信息

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

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

  1. function cutefool_add_options_page(){
  2.     add_options_page('MyCopyright','MyCopyright Config',8,'myCopyright.php','cutefool_myCopyright_mainpage');
  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 levels

由此可见,我们必须有编写好的cutefool_myCopyright_mainpage函数,才能在插件管理页面中显示具体的内容来。(待确认:如果函数名为空呢?)

4.编写管理页面函数

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

极为简单,只有一句输出:

  1. function cutefool_myCopyright_mainpage(){
  2.     echo "Hello ! MyCopyright is active!";
  3. }

当然这只是个极为简单的例子…..

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

  1. function cutefool_showcopyright($content){
  2.   $search = "<!--copyright-->";
  3.   $replace= "<font color='red'>&#x672C;&#x6587;&#x7531;
  4. CuteFool&#x539F;&#x521B;&#x3002;&#x8F6C;
  5. &#x8F7D;&#x8BF7;&#x6CE8;&#x660E;
  6. <a href='http://www.cutefool.net' target='_blank'>
  7. CuteFool</a></font><p/>";
  8.   $content= str_replace ($search, $replace, $content);
  9.   return $content;
  10. }

代码一看就明白。在文件中只有遇到<!–copyright–>就替换成想要的版权文字

这里由于wordpress默认编码为 UTF-8,所以其中的中文要以UTF-8编码插入,否则在页面上显示为乱码。

6.调用Hooks

即,规定什么时候调用插件,以及插件中的哪些函数

  1. add_action('admin_menu', 'cutefool_add_options_page');
  2. add_filter('the_content', 'cutefool_copyright');

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

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

7.规定在插件管理中显示此插件

  1. if ( function_exists("is_plugin_page") && is_plugin_page() ) {
  2.     cutefool_showpnagzi_mainpage();
  3.     return;
  4. }

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

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

完整代码(myCopyright.php)

  1. <?php
  2. /*
  3. Plugin Name:MyCopyright
  4. Version: 0.0.1
  5. Plugin URI: http://www.cutefool.net
  6. Author: xuyannan - CuteFool.net
  7. Author URI: http://www.cutefool.net
  8. Description: show copyright once there are letters match <!--copyrigth-->.and you should config your copyright information in this file,with this verison.
  9. */
  10. if ( function_exists("is_plugin_page") && is_plugin_page() ) {
  11.     cutefool_showpnagzi_mainpage();
  12.     return;
  13. }
  14. function cutefool_add_options_page(){
  15.     add_options_page('MyCopyright','MyCopyright Config',8,'myCopyright.php','cutefool_myCopyright_mainpage');
  16. }
  17.  
  18. function cutefool_myCopyright_mainpage(){
  19.     echo "Hello ! MyCopyright is active!";
  20. }
  21. function cutefool_showcopyright($content){
  22.   $search = "<!--copyright-->";
  23.   $replace= "<font color='red'>&#x672C;&#x6587;&#x7531;CuteFool&#x539F;&#x521B;&#x3002;&#x8F6C;&#x8F7D;&#x8BF7;&#x6CE8;&#x660E;<a href='http://www.cutefool.net' target='_blank'>CuteFool</a></font><p/>";
  24.   $content= str_replace ($search, $replace, $content);
  25.   return $content;
  26. }
  27. add_action('admin_menu', 'cutefool_add_options_page');
  28. add_filter('the_content', 'cutefool_showcopyright');
  29. ?>

下一个版本:可以在插件管理页面中自定义版本信息,而不是写死在php文件中。