豆豆の鱼.

Life record . 记录自己的日常琐事.

wordpress 文章添加回复可见内容

对于内容回复可见这个功能,很多博客都在使用,不管是wordpress还是国内的cms都在使用,这个功能可以增加站点的互动性,提升自己站点的流量。一般回复可见的样式像:

20181202144111 wordpress 文章添加回复可见内容

下面来说下实现的方法,这个里需要修改functioncss,都是直接注入内容就ok

 

主体代码,添加到functions.php文件

 

[hide reply_to_this=”true”]function hide($atts,$content=null,$code=””){
extract(shortcode_atts(array(“reply_to_this”=>’true’),$atts));
global $current_user;
get_currentuserinfo();
if($current_user->ID) $email = $current_user->user_email;
if($reply_to_this==’true’){
if($email){
global $wpdb;
global $id;
$comments = $wpdb->get_results(“SELECT * FROM $wpdb->comments WHERE comment_author_email = ‘”.$email.”‘ and comment_post_id='”.$id.”‘and comment_approved = ‘1’”);
}
if(!$comments) $content = ‘<div class=”hide_notice”>抱歉,只有<a href=”‘.wp_login_url(get_permalink()).'” rel=”nofollow”>登录</a>并在本文发表评论才能阅读隐藏内容</div>’;
}else{
if($email){
global $wpdb;
global $id;
$comments = $wpdb->get_results(“SELECT * FROM $wpdb->comments WHERE comment_author_email = ‘”.$email.”‘ and comment_approved = ‘1’”);
}
if(!$comments) $content = ‘<div class=”hide_notice”>抱歉,只有<a href=”‘.wp_login_url(get_permalink()).'” rel=”nofollow”>登录</a>并在本站任一文章发表评论才能阅读隐藏内容</div>’;
}
if($comments) $content = ‘<div class=”unhide”><div class=”info”>以下为隐藏内容:</div>’.$content.'</div>’;
return $content;
}
add_shortcode(‘hide’,’hide’);[/hide]

 

CSS样式添加

[hide reply_to_this=”true”].hide_notice{overflow:hidden;padding:8px 8px 8px 24px;border:1px dashed #ff9a9a;background:url(这里添加一下自己想要的锁的图标) no-repeat 6px 50%;font-size:12px;color:#ff0000;margin-bottom:15px}
.hide_notice a{color:#ff4b4b}
.unhide{padding:8px;border:1px dashed #ff9a9a;margin-bottom:15px}
.unhide .info{font-size:12px;color:#ff0000}[/hide]

 

短代码使用

当前文章回复可见
{hide reply_to_this=”true”}隐藏内容{/hide}
任一文章回复可见
{hide reply_to_this=”false”}隐藏内容{/hide}

把{}改为[],这里为了演示,故改成了{}。

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注