近期在学习wordpress的开发,下面是我的一部分笔记:
<?php
/*
Plugin Name: cc comment(test)
Plugin URI: www.******.com
Description:我是cc comment 的注释
Author: Ethan QQ:914391428
Version: 1.3.137
Author URI: http://118.190.103.81/blog/
*/
//*************Step 1. 创建CC Comment插件
//只是当文章有新评论,将评论内容抄送到name@domain.com这个邮箱中
function cc_comment() {
global $_REQUEST;
$to = 'name@domain.com';
$subject = 'New comment posted @ your blog ' . $_REQUEST['subject'];
$message = 'Message from ' . $_REQUEST['name'] . ' at email ' . $_REQUEST['email'] .
': \n' . $_REQUEST['comments'];
wp_mail($to, $subject, $message);
}
add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);</font>
add_action('comment_post', 'cc_comment');
add_action函数的用法(把函数连接到action动作),希望连接到的动作名称
add_action( tag, function_to_add, priority=10, accepted_args = 1);
$function_to_add:(回调)希望调用的函数名称(可不需返回值)。注意: the PHP documentation for the 'callback' type中解释的语法均可用。
$priority:函数的重要程度。改变此参数以决定函数与其他函数的调用顺序。默认值为10,因此(例如)将值设为5时函数运行较早,设为12时运行则较晚。
$accepted_args:函数所接受参数的数量,默认值为1。在WordPress1.5.1及之后版本中,连接的函数可吸收其它在调用do_action() 或 apply_filters()时设置的参数。例如,comment_id_not_found动作将传递任何函数,若该函数将所请求的评论编号连接到该动作。comment_post
注释:post是在将注释插入到数据库后立即触发
Step2:创建输出后台管理界面的函数:
function cccomm_option_page() {
//用符号结束php,并用<?php重新开启php,这样就可以在两个符号中间直接写HTML代码。
?>
<!--<div class="wrap"></div>包裹我们的内容,wrap是WordPress预定义的class。 -->
<div class="wrap">
<!-- screen_icon()函数输出标题旁边的图标,图标是什么将取决于我们将页面菜单置于哪个顶级菜单下。 -->
<?php screen_icon(); ?>
<h2>CC Comments Options </h2>
<p>Welcome to CC Comments plugin, here you can edit the email(s) to CC your comments to. </p>
</div>
<?php //开始php
}
****Step3:创建函数,将选项菜单添加到顶级菜单“设置(Settigns)”下
function cccomm_plugin_menu() {
/*使用方法:
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);
$page_title:(string)必须,无默认值。为菜单名称
$menu_title:(string)必须,无默认值,显示在menu标题中的。
$capability:(string)必须,无默认值,参数为用户权限
$menu_slug:(string)必须,无默认值,参数用于调用cc-comments-plugin()函数,来显示菜单内容
$function:用于显示菜单的内容,填写菜单页面的HTML代码即可,默认为空;
http://wordpress/wp-admin/options-general.php?page=cc-comments-plugin
*/
add_options_page('CC Comments Settings', 'CC Comments', 'manage_options', 'cc-comments-plugin','cccomm_option_page' );
}
//需要将函数钩到hook中, 通过add_action来自动调用my_add_pages函数
add_action( 'admin_menu', 'cccomm_plugin_menu' );
?>