代码部署
实现代码,放到当前主题的functions.php文件中即可(这里还增加了对IP的判断,更保险):
- // 获取评论用户的ip,参考wp-includes/comment.php
- function ludou_getIP() {
- $ip = $_SERVER['REMOTE_ADDR'];
- $ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $ip );
- return $ip;
- }
- function ludou_only_one_comment( $commentdata ) {
- global $wpdb;
- $currentUser = wp_get_current_user();
- // 不限制管理员发表评论
- if(emptyempty($currentUser->roles) || !in_array('administrator', $currentUser->roles)) {
- $bool = $wpdb->get_var("SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = ".$commentdata['comment_post_ID']." AND (comment_author = '".$commentdata['comment_author']."' OR comment_author_email = '".$commentdata['comment_author_email']."' OR comment_author_IP = '".ludou_getIP()."') LIMIT 0, 1;");
- if($bool)
- wp_die('本站每篇文章只允许评论一次。<a href="'.get_permalink($commentdata['comment_post_ID']).'">点此返回</a>');
- }
- return $commentdata;
- }
- add_action( 'preprocess_comment' , 'ludou_only_one_comment', 20);
- 我的微信
- 微信扫一扫
-
- 我的微博
- 微博扫一扫
-
评论