全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 1109|回复: 8
打印 上一主题 下一主题

wordpress 评论后可见 有人能做吗?

[复制链接]
跳转到指定楼层
1#
发表于 2020-2-8 01:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zzz123 于 2020-2-8 01:08 编辑

帮人做一个站,需要一个 评论后可见  的功能,网上好多现成的代码都不支持php7.0,请问有人能做吗?



需求:评论后刷新文章可以查看隐藏内容

环境:
linux、apache2.4、php7.0  redis+opcache

主题:justnews

价格:
私聊pm
2#
发表于 2020-2-8 01:09:08 | 只看该作者
其实找个现成的插件,找个会改代码的直接改下就能兼容。
3#
发表于 2020-2-8 01:14:36 | 只看该作者

function reply_to_read($atts, $content=null) {   
        extract(shortcode_atts(array("notice" => '<div class="post-restrict-area border border-light border-2 rounded text-center has-very-light-gray-background-color py-4 py-md-5 mb-3">
            <div class="restrict-text text-sm text-secondary">此处内容已隐藏,评论后刷新可见</div>
            <div class="restrict-action mt-3 "><a href="#comments" class="btn btn-primary">立即评论,阅读全文</a></div>
        </div>'), $atts));   
        $email = null;   
        $user_ID = (int) wp_get_current_user()->ID;   
        if ($user_ID > 0) {   
            $email = get_userdata($user_ID)->user_email;   
            //对博主直接显示内容   
            $admin_email = "[email protected]"; //博主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');
4#
 楼主| 发表于 2020-2-8 01:16:09 | 只看该作者
nutterchen 发表于 2020-2-8 01:14
function reply_to_read($atts, $content=null) {   
        extract(shortcode_atts(array("notice" =>  ...

这个试过了
  } else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {   
报错
5#
发表于 2020-2-8 01:16:14 | 只看该作者
现成的插件很多
6#
 楼主| 发表于 2020-2-8 01:17:17 | 只看该作者
yjlml 发表于 2020-2-8 01:16
现成的插件很多

都不兼容php7.0
7#
发表于 2020-2-8 01:17:44 | 只看该作者
zzz123 发表于 2020-2-7 20:16
这个试过了
  } else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {   
报错

详细点
8#
 楼主| 发表于 2020-2-8 01:23:08 | 只看该作者

老哥你这个貌似没报错,网上有个和你相近的代码运行起会报错,明天我再测试一下,先谢谢老哥你了
9#
发表于 2020-2-8 19:51:35 来自手机 | 只看该作者
nutterchen 发表于 2020-2-8 01:14
function reply_to_read($atts, $content=null) {   
        extract(shortcode_atts(array("notice" =>  ...

这个评论后可见,适用dux主题吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-9 04:07 , Processed in 0.097861 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表