wordpress增添评论回复可见内容的实现方式

本着不用插件就尽量少用插件的原则,本功能的实现方式是通过代码。方法也是百度来的,作为折腾wordpress的记录,避免以后遗忘。

将以下代码复制粘贴到主题目录下的 functions.php

//评论可见
function reply_to_read($atts, $content=null) {
        extract(shortcode_atts(array("notice" => '<p class="reply-to-read">此处内容需要<a href="#respond" 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 = "xinyewl@qq.com";
            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');

将代码中的xinyewl@qq.com改为自己的邮箱,这样隐藏的内容直接展示给自己,不用回复,其他用户需要评论回复才能可见内容。

调用方法:见评论区

未经允许不得转载:动画咖 » wordpress增添评论回复可见内容的实现方式

顶 (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 萌院小咖撰写文章时,在可视化或者编辑框下输入短代码: [reply]隐藏的内容[/reply],短代码中的“隐藏的内容”改成你想要隐藏的内容!回复

置顶文章