今天博客 112 兄提出了一个我认为有点奇怪的需求,也就是本文标题这个啦~~
下班后立马折腾了下,结果死活不成功... 我是用 is_single()
和 is_page()
来判断的。
然后,仔细想了下,可能是因为钩子是直接作用于preprocess_comment
,所以上面的判断并不能很好的起作用!
偶然间想起了我下面这篇文章里的第三种方法:
然后立马就尝试了下并成功了~ 代码如下:
/**
* 如何实现 WordPress 指定文章或页面允许评论昵称/内容带连接地址 - 龙笑天下
* https://www.ilxtx.com/allow-comment-link-in-some-pages.html
*/
define('ALLOW_PAGES', 'Id1,Id2');
function lxtx_allow_comment_link( $comment ) {
$post_ID = $comment["comment_post_ID"];
$allow_posts = ALLOW_PAGES ? explode(',', ALLOW_PAGES) : array();
if(!in_array($post_ID,$allow_posts)){
$links = '/http:\/\/|https:\/\/|www\.|\.com/u';
if (preg_match($links, $comment['comment_author']) || preg_match($links, $comment['comment_content'])) {
wp_die('别啊,昵称和评论里面有链接会怀孕的哟!!');
}
}
return $comment;
}
add_filter('preprocess_comment', 'lxtx_allow_comment_link');
注:ALLOW_PAGES 里定义的是允许评论昵称/内容带连接地址的文章或页面的 ID
,多篇文章或页面用 ,
隔开即可。
还没有人赞赏,快来当第一个赞赏的人吧!
声明:本文为原创文章,版权归龙笑天下所有,欢迎分享本文,转载请保留出处!