一个不错的WordPress评论算术题验证码插件
算术题验证码我们见过最多的就是如1+3等于多少,下面我来给各位介绍在WordPress评论中加个一个算术题验证码功能,各位可参考消息.
下面是插件代码,自行取走:
/* Plugin Name: 简单算术题评论验证码插件 Description: 提交评论之前必须写出简单的算术题答案 Version: 1.0 Author: 否子戈 */ if (! class_exists ( 'comment_capatcha' )) { class comment_capatcha { function __construct() { add_action( 'comment_form' , array (& $this , 'print_capatcha' )); add_filter( 'preprocess_comment' , array (& $this , 'preprocess_comment' )); } function print_capatcha() { if (!is_user_logged_in()) { global $post ; session_start(); $rand_1 = mt_rand(1,20); $rand_2 = mt_rand(1,20); $_SESSION [ 'capatcha_' . $post ->ID] = $rand_1 + $rand_2 ; $str = '<div id="capatcha-area"><label>' ; $str .= "{$rand_1} + {$rand_2} = " . '<input type="text" name="capatcha" id="capatcha" />' ; $str .= '智商合格才能评论 *' ; $str .= '</label></div>' ; echo $str ;- } } function preprocess_comment( $commentdata ) { if (!is_user_logged_in()) { session_start(); $post_id = isset( $_POST [ 'comment_post_ID' ]) ? $_POST [ 'comment_post_ID' ] : 0; if (! $post_id ){ wp_die( '警告:数据来源非法!!' ); } $capatcha = $_SESSION [ 'capatcha_' . $post_id ]; if ( $capatcha != $_POST [ 'capatcha' ]){ wp_die( __( '警告:你智商有问题,不允许评论,请返回重新计算。' ) ); } unset( $_SESSION [ 'capatcha_' . $post_id ]); } return $commentdata ; } } } if ( !isset( $comment_capatcha ) ) { $comment_capatcha =& new comment_capatcha(); }将上面的代码保存在comment_capatcha.php中,上传到wordpress的wp-content/plugins/目录下,到后台启动该插件就可以了.
不过,如果你是通过阅读如何自己设计wordpress评论列表及评论框之后自己设计的自己的评论框,那么一定要注意do_action('comment_form', $post->ID);的位置,因为验证算术题会在它的位置打印出来.
查看更多关于一个不错的WordPress评论算术题验证码插件 - Word的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did8611