php 回复可见,WordPress 内容回复可见的实现方法

在WordPress上,可以通过添加自定义代码到functions.php文件来实现‘回复后可见隐藏内容’的功能。该功能会检查用户是否已评论并刷新页面,以显示隐藏的内容。然而,WP酷建议谨慎使用,因为它可能降低用户体验。要实现这一功能,需要在文章中插入特定的短代码,并且对未登录用户的邮箱进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

56911b21dee8918306ba38428867da34.png

我们经常在各种论坛上看到“回复后可见隐藏内容”的字样,这样既保证了帖子能让更多人看到,也可以防止贴文被恶意转载。那么在WordPress上如何实现这样效果呢?一起来看看吧。

WP酷还是建议大家少用这样的功能,如果不是资源分享博客使用可能会导致用户体验降低。

使用方法

在functions.php中插入如下代码:请注意修改其中的Email地址哦!function reply_to_read($atts,$content=null){

extract(shortcode_atts(array("notice"=>'此处内容需要评论本文刷新本页才能查看.'),$atts));

$email=null;

$user_ID=(int)wp_get_current_user()->ID;

if($user_ID>0){

$email = get_userdata($user_ID)->user_email; //如果用户已登录,从登录信息中获取email

}else if(isset($_COOKIE['comment_author_email_'.COOKIEHASH])){

$email=str_replace('%40','@',$_COOKIE['comment_author_email_'.COOKIEHASH]); //如果用户未登录但电脑上有本站的Cookie信息,从Cookie里读取email

}else{

return $notice; //无法获取email,直接返回提示信息

}

if(empty($email)){

return $notice;

}

global $wpdb;

$post_id=get_the_ID(); //文章的ID

$query="SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`='1' and `comment_author_email`='{$email}' LIMIT 1";

if($wpdb->get_results($query)){

return $content; //查询到对应的已经审核通过的评论则返回内容

}else{

return $notice; //否则返回提示信息

}

}

add_shortcode('reply', 'reply_to_read');

收工~使用方法很简单, 在编辑文章时添加:[reply]评论可见的内容[/reply]

或者[reply notice="自定义的提示信息"]评论可见的内容[/reply]

注:对于采用多说等第三方社会化评论系统的博客没有效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值