WordPress评论中禁止或者必须包含指定内容

这篇是上篇《非插件实现拦截无中文留言》的进阶

以下代码不允许评论中<a 随便 href=\” 或者rel=\”nofollow\”或者http://

  1.  lianyue_comment_post(  ) {  
  2.  = \’/[href=nofollow 
  3.  
  4. 万恶的发贴机!\” );  
  5. }  
  6.  );  
  7. }  
  8. add_filter(\’preprocess_comment\’, \’lianyue_comment_post\’);  

你也可以换成自己的代码也可以添加其他的代码

也可以设置成必须包含指定字符如下面:

  1.  lianyue_comment_post(  ) {  
  2.  = \’/[一-龥]/u\’;  
  3.   
  4. (!preg_match([\’comment_content\’])) {  
  5. wp_die(  );  
  6. }  
  7.  );  
  8. }  
  9. add_filter(\’preprocess_comment\’, \’lianyue_comment_post\’);  

以上面的是必须包含中文字符也可以改成自己的字符

两个一起的代码必须包含中文字符和不准包含指定字符的代码

  1.  lianyue_comment_post(  ) {  
  2.  = \’/[一-龥]/u\’;  
  3.  = \’/[href=nofollow 
  4.  
  5.  
  6. 您的评论中必须包含汉字! 
  7.  
  8. 万恶的发贴机!\” );  
  9. }  
  10.  );  
  11. }  
  12. add_filter(\’preprocess_comment\’, \’lianyue_comment_post\’);  

另外主题如果使用了ajax评论,提示错误时可能会出现布局混乱,解决办法:

打开comments-ajax.php找到最后个err( __(并

在下一行增加:

这是必须包含中文的

  1.  = \’/[一-龥]/u\’;  
  2.  (!preg_match(,) )  
  3. err( __(\’您的评论中必须包含汉字!\’) );  

这是禁止包含的内容

  1.  = \’/[href=nofollow\”|http:\\/\\/|<\\/a>]/u\’;  
  2.  (preg_match(,) )  
  3. err( __(\’万恶的发贴机!\’) );  
    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容