如何实现 WordPress 指定文章或页面允许评论昵称/内容带连接地址

2016-11-09 22:58 613 18 条评论 龙笑天下

如何实现 WordPress 指定文章或页面允许评论昵称/内容带连接地址

今天博客 112 兄提出了一个我认为有点奇怪的需求,也就是本文标题这个啦~~

下班后立马折腾了下,结果死活不成功... 我是用 is_single()is_page() 来判断的。

然后,仔细想了下,可能是因为钩子是直接作用于preprocess_comment,所以上面的判断并不能很好的起作用!

偶然间想起了我下面这篇文章里的第三种方法:

WordPress 中如何允许非管理员用户在评论中插入图片-BG
WordPress 中如何允许非管理员用户在评论中插入图片

WordPress 中如何允许非管理员用户在评论中插入图片

今天匿名在评论里插入图片的时候,突然发现我插的图片被吞了...尴尬了,原来这么久以来我的插入图片这个按钮功能是“不起作用”的... 然后百度了下,果然有结果了:“在 WordPress 中,默认...

然后立马就尝试了下并成功了~ 代码如下:

/**
 * 如何实现 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 ,多篇文章或页面用 , 隔开即可。

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2016-11-02

2016-11-13

发表评论

表情 格式 贴图 链接 私密 签到
评论
正在努力加载中...
扫一扫二维码分享
×