wordpress制作一个简单的插件
说明
这是一个极为简单的插件,实现一个极为简单功能,旨在记录自己的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):
<?php <br ?> /*
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’);
?>
Need a translation service?
Please enter your personal details and we will contact you shortly
Words translated by CCJK
146,096,379Over 95% of our clients recommend our language services to others