WordPress代码实现评论白名单功能
WordPress评论白名单不用审核直接显示应该怎么实现?以前一直用的评论黑名单来限制打广告的人,有黑名单就有…
WordPress评论白名单不用审核直接显示应该怎么实现?以前一直用的评论黑名单来限制打广告的人,有黑名单就有白名单。由于wordpress后台只提供了评论黑名单设置项,所以白名单的实现要比黑名单复杂一点,但也难不到哪里去,下面我以DUX主题为例举个例子,以下代码当然也适用于DMD主题。
增加后台设置项
为了方便用户操作,后台设置项很有必要,不然想要允许一名用户自由评论,还得改代码,十分麻烦。
找到DUX或者DMD主题根目录中的options.php文件,这个是后台设置框架的配置文件,在里面合适的位置增加如下代码。
$options[] = array( 'name' => __('评论白名单', 'haoui'), 'id' => 'allowcomment', 'std' => '1016134519@qq.com', 'desc' => __('评论白名单,填写允许评论的邮箱,一行一个(不要留空行)', 'haoui'), 'type' => 'textarea');
注意:是合适位置,这个位置应该很好找。
保存后刷新后台主题设置页面,可以看到多了一项评论白名单。
挂载处理函数
上面仅仅是保存了白名单内容,要修改评论数据,我们需要利用pre_comment_approved
过滤器,打开主题目录下的functions.php文件,增加如下代码:
//评论白名单/6206.html function dmd_allow_comment_email( $approved , $commentdata ) { if(_hui('allowcomment')){ $list=explode(PHP_EOL,_hui('allowcomment')); $isContains = in_array($commentdata['comment_author_email'],$list); if($isContains){ return 1; }else{ return $approved; } } } add_filter( 'pre_comment_approved', 'dmd_allow_comment_email', 99, 2 );
搞定,保存后测试看看吧。
以上代码仅将白名单用户的评论设置为通过状态,其它用户的状态扔延用wordpress后台设置,如果你想让其它所有人都不通过,可以将上面的$approved
改为其它值,具体内容如下:
- 0 (int): 评论状态为”Pending” (待审核)
- 1 (int) : 评论状态为”Approved” (通过审核)
- ‘spam’ (string): 评论被标记为”垃圾评论”
- ‘trash’ (string): 评论被转移至”垃圾箱”
类别:WordPress教程、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!