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

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

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

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

.singlemiddle-banner{margin-left:auto;margin-right:auto;overflow: hidden;}

下班后立马折腾了下,结果死活不成功… 我是用 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 ,多篇文章或页面用 , 隔开即可。

类别:WordPress函数讲解

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册