WordPress部分文章内容评论/回复后可见

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

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

下面是主要的核心代码。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//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"  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('{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}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、然后在编辑文章时添加下面两种方式的其中一种即可隐藏文章部分内容。

最终效果就是下面的样子


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

回复后才显示哟

扫码关注wp悟空搜

精选优质免费WordPress主题模板,分享最新WordPress实用建站教程!

记住我们的网址:ztJun.com

原文链接:https://xiaohost.com/1482.html,转载请注明出处。
0

评论1

请先
  1. 我试试
    lee 2020-11-28 0