说明
这是一个极为简单的插件,实现一个极为简单功能,旨在记录自己的wordpress插件开发学习过程,并与他人交流。
插件功能
在日志中显示版本信息。写文章时,如果此文章为原创,则可以插入”<!–copyright–>”字符,在文章显示时将这串字符替换为版本信息。
具体实现
1.建立目录或文件
按照wordpress插件开发规则,为插件建立一个目录,名称随便,如MyCopyright。或不建立目录,只创建一个php文件即可
在MyCopyright目录下创建一个php文件。这个文件包含了插件的具体实现代码。此例中取名为myCopyright.php
2.编辑插件信息。
在myCopyright.php文件的开始插入:
- /*
- Plugin Name:MyCopyright
- Version: 0.0.1
- Plugin URI: http://www.cutefool.net
- Author: xuyannan - CuteFool.net
- Author URI: http://www.cutefool.net
- Description: show copyright once there are letters match <!--copyrigth-->.and you should config your copyright information in this file,with this verison.
- */
以上信息包含了插件的作者、版本以及描述信息
3.在插件管理页面中显示你的插件菜单
即让你的插件在启用之后能在后台的插件管理页面中显示出来。
- function cutefool_add_options_page(){
- add_options_page('MyCopyright','MyCopyright Config',8,'myCopyright.php','cutefool_myCopyright_mainpage');
- }
函数名尽量不要与别人重复
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函数。按步骤三的设置,显示插件管理页面时即调用此函数。
极为简单,只有一句输出:
- function cutefool_myCopyright_mainpage(){
- echo "Hello ! MyCopyright is active!";
- }
当然这只是个极为简单的例子…..
5.编写具体的插件实现方法
- function cutefool_showcopyright($content){
- $search = "<!--copyright-->";
- $replace= "<font color='red'>本文由
- CuteFool原创。转
- 载请注明
- <a href='http://www.cutefool.net' target='_blank'>
- CuteFool</a></font><p/>";
- $content= str_replace ($search, $replace, $content);
- return $content;
- }
代码一看就明白。在文件中只有遇到<!–copyright–>就替换成想要的版权文字
这里由于wordpress默认编码为 UTF-8,所以其中的中文要以UTF-8编码插入,否则在页面上显示为乱码。
6.调用Hooks
即,规定什么时候调用插件,以及插件中的哪些函数
- add_action('admin_menu', 'cutefool_add_options_page');
- add_filter('the_content', 'cutefool_copyright');
第一句,定义了在执行admin_menu操作时,调用cutefool_add_options_page。这样就达到了在菜单中显示本插件的目的。
第二句,定义了在执行the_conent函数时,调用本插件中的cutefool_copyright,实现了插件的功能。
7.规定在插件管理中显示此插件
- if ( function_exists("is_plugin_page") && is_plugin_page() ) {
- cutefool_showpnagzi_mainpage();
- return;
- }
8.到此,MyCopyright插件编写完成。
上传到插件目录,启用,测试即可。
完整代码(myCopyright.php)
- <?php
- /*
- Plugin Name:MyCopyright
- Version: 0.0.1
- Plugin URI: http://www.cutefool.net
- Author: xuyannan - CuteFool.net
- Author URI: http://www.cutefool.net
- Description: show copyright once there are letters match <!--copyrigth-->.and you should config your copyright information in this file,with this verison.
- */
- if ( function_exists("is_plugin_page") && is_plugin_page() ) {
- cutefool_showpnagzi_mainpage();
- return;
- }
- function cutefool_add_options_page(){
- add_options_page('MyCopyright','MyCopyright Config',8,'myCopyright.php','cutefool_myCopyright_mainpage');
- }
-
- function cutefool_myCopyright_mainpage(){
- echo "Hello ! MyCopyright is active!";
- }
- function cutefool_showcopyright($content){
- $search = "<!--copyright-->";
- $replace= "<font color='red'>本文由CuteFool原创。转载请注明<a href='http://www.cutefool.net' target='_blank'>CuteFool</a></font><p/>";
- $content= str_replace ($search, $replace, $content);
- return $content;
- }
- add_action('admin_menu', 'cutefool_add_options_page');
- add_filter('the_content', 'cutefool_showcopyright');
- ?>
下一个版本:可以在插件管理页面中自定义版本信息,而不是写死在php文件中。
十
03
This entry was posted
on 星期三, 十月 3rd, 2007 at 12:13 上午and is filed under 个人日志.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
1 条评论 wordpress插件开发(2)-制作一个简单的插件
lifend
九月 3rd, 2008 at 7:46 上午
1是这样 我没有什么语言基础 略懂一些代码
从国外一个站上下了一个留言程序 感觉很好用
想做成wordpress插件 乍一看无从下手
想请教指点一下 lifend@msn.com
RSS feed for comments on this post · TrackBack URI
Leave a Reply