WordPress网站设置部分文章内容评论/回复后可见

如果我们希望隐藏文章部分内容,需要用户评论可见 、回复可见,那么今天这篇WordPress教程文章就刚好适合你。

这个功能实现起来很容易,而且可以提高用户积极性,是一个非常不错的功能。

下面是主要的核心代码。

//WordPress实现文章部分内容评论后可见

function reply_to_read($atts, $content=null) {   
	extract(shortcode_atts(array("notice" => '<p class="reply-to-read">温馨提示: 此处内容需要<a href="#respond" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  title="评论本文">评论本文</a>后才能查看.</p>'), $atts));   
	$email = null;   
	$user_ID = (int) wp_get_current_user()->ID;   
	if ($user_ID > 0) {   
		$email = get_userdata($user_ID)->user_email;   
		//对博主直接显示内容   
		$admin_email = "leixue@leiue.com"; //博主 Email   
		if ($email == $admin_email) {   
			return $content;   
		}   
	} else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {   
		$email = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]);   
	} else {   
		return $notice;   
	}   
	if (empty($email)) {   
		return $notice;   
	}   
	global $wpdb;   
	$post_id = get_the_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 do_shortcode($content);   
	} else {   
		return $notice;   
	}   
}   

add_shortcode('reply', 'reply_to_read');

使用方法

1、 首先将以下代码添加到主题的functions.php文件里。

2、然后在编辑文章时添加下面两种方式的其中一种即可隐藏文章部分内容。

最终效果就是下面的样子

温馨提示: 此处内容需要评论本文后才能查看.

回复后才显示哟

关于WordPress网站设置部分文章内容评论/回复后可见的相关内容;如有侵权,请联系老文删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
老文的头像老文
上一篇 2021年9月4日 上午12:19
下一篇 2021年9月7日 下午9:48

相关推荐

  • WordPress.com与WordPress.org有什么区别吗?

    今天给大家介绍WordPress.com与WordPress.org区别,希望对需要的朋友有所帮助! 有用户问,WordPress程序现在是免费的,但看到WordPress.com上建网站是收费的,那以后是否会收费? 这个问题本身有个误区,这里以我的理解简单说一下,WordPress.com与WordPress.org区别。 简单地说,WordPress.c…

    2021年8月12日
    555
  • 宝塔面板mysql进程守护shell脚本(数据库关闭后自动重启)

    我们使用宝塔面板搭建网站时,Mysql数据库有时会意外停止,这时候我们只能登录服务器进行手动重启Mysql。那么怎么设置监控Mysql的运行情况,当数据库进程停止时,自动重启Mysql数据库呢?其实我们可以通过添加计划任务(Shell脚本)的方式来实现。具体操作方法如下: 登陆宝塔面板后台 – 计划任务。任务类型:Shell脚本 任务名称:Mysql进程守护…

    2024年6月21日
    309
  • WordPress在前台显示登录用户的注册时间

    在使用WordPress建站的时候,有的用户希望能在前台显示用户注册时间,但是WordPress是没有这个选项的,那么该如何实现这个功能呢? 非常简单,虽然这个功能并不常见,也没多大的作用。这个功能基本上是用在有用户中心站点。 首先将下面代码复制到主题的functions.php文章中。 //WordPress在前台显示登录用户的注册时间 function …

    2021年11月2日
    450
  • DedeCMS内容发布流程

    发布内容有多种方式,但不管那种方式,都必须先创建好栏目,如果你没有创建对应的内容模型的栏目,是不能直接发布文章或软件的,创建了栏目之后,可以通过下面几种方法发布内容: (推荐学习:dedecms教程) 1、在“栏目管理”处,在栏目名称上方点击鼠标左键,点击“增加内容”; 2、在“栏目管理”处,直接点击某栏目,进入内容列表,点击上方的“增加文档”的按钮; 3、…

    2022年12月18日
    155
  • wordpress批量删除所有用户的数据库命令

    一、wordpress如何删除所有用户,只保留管理员 据说可以用插件。但我还是感觉sql命令更直接。 提醒:数据库任何操作之前,都要确保好已经做了备份! 1:删除没有文章的用户 DELETE FROM wp_users WHERE ID NOT IN (SELECT post_author FROM wp_posts); 2:删除不存在用户的元数据 DELE…

    2021年8月12日
    691