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

2016-11-09 22:58 617 18 条评论 龙笑天下
Dragon主题购买

如何实现 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

发表评论

表情 格式 贴图 链接 私密 签到
Dragon主题购买阿里云特价云服务器1核2G低至86元,N4共享型服务器3年仅需799元腾讯云特价云服务器1核2G 88元/年 2核4G3M688元/3年,更有千元代金券礼包免费领!
评论
正在努力加载中...
扫一扫二维码分享
×
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more
Dragon