WordPress子比主题评论等级添加

步骤一

主要代码还是在zibll/inc/functions/zib-comments-list.php里面

zib-bomments-list文件

搜索找到 if ($user_id == $post->post_author) 在上面添加代码

if (_pz('user_comment_level', true)) {
            //评论区评论等级开始
            $com_n = (int) get_user_comment_count($user_id); //获取用户评论次数
            $badge .= xypro_user_comment_level_badge($user_id, 'ml3'); //添加评论徽章
            xypro_update_user_comment_level($user_id, $com_n); //刷新评论等级
            $author = _pz('author_icon', true); //作者头像
        
            if (!$user_id && _pz('pass_icon', true)) {
                $badge .= '<img class="img-icon ml3 ls-is-cached lazyloaded" src="'.$pass.'" data-src="'.$pass.'" data-toggle="tooltip" alt="路人" data-original-title="路人">';
            }
            if ($user_id == $post->post_author) {
                $badge .= '<img class="img-icon ml3 ls-is-cached lazyloaded" src="'.$author.'" data-src="'.$author.'" data-toggle="tooltip" alt="作者" data-original-title="作者">';
                $user_id = 0;
            }
            //评论区评论等级结束
        }

搜索找到 echo $user_name 在下面添加代码

if (_pz('user_comment_level', true)) {
            //评论区评论等级开始
            $com_n = (int) get_user_comment_count($user_id); //获取用户评论次数
            echo xypro_user_comment_level_badge($user_id, 'ml3'); //添加评论徽章
            xypro_update_user_comment_level($user_id, $com_n); //刷新评论等级
        
            if (!$user_id && _pz('pass_icon', true)) {
                echo '<img class="img-icon ml3 ls-is-cached lazyloaded" src="'.$pass.'" data-src="'.$pass.'" data-toggle="tooltip" alt="路人" data-original-title="路人">';
            }
            //评论区评论等级结束
        }

 

functions文件

//获取用户评论等级
function xypro_user_comment_level($id = 0)
{
    if (!$id) {
        return false;
    }

    $level = (int) get_user_meta($id, 'comment_level', true);
    if (!$level) {
        //初始等级1
        update_user_meta($id, 'comment_level', 1);
        $level = 1;
    }
    $max = _pz('comment_level_max', 7);
    return $level > $max ? $max : $level;
}

//用户获取评论等级徽章
function xypro_user_comment_level_badge($id = 0, $class = '', $tip = true)
{
    if (!$id || !_pz('user_comment_level', true)) {
        return;
    }

    $user_level = xypro_user_comment_level($id);
    return xypro_comment_level_badge($user_level, $class, $tip);
}

//用户获取评论等级徽章
function xypro_comment_level_badge($user_level = 0, $class = '', $tip = true)
{
    if (!$user_level) {
        return;
    }

    $icon_url  = _pz('comment_level_opt', 'https://kpi.21lhz.cn/images/lv/' . $user_level . '.png', 'comment_level_icon_' . $user_level);
    $title     = esc_attr(_pz('comment_level_opt', 'LV' . $user_level, 'comment_name_' . $user_level));
    $tip_attr  = $tip ? ' data-toggle="tooltip"' : '';
    $lazy_attr = zib_get_lazy_attr('lazy_other', $icon_url, 'img-icon ' . $class, ZIB_TEMPLATE_DIRECTORY_URI . '/img/thumbnail-null.svg');
    $vip_badge = '<img ' . $lazy_attr . $tip_attr . ' title="' . esc_attr(strip_tags($title)) . '" alt="' . esc_attr(strip_tags($title)) . '">';
    return $vip_badge;
}

//更新用户评论等级
function xypro_update_user_comment_level($user_id, $_meta_value)
{
    $_meta_value = (int) $_meta_value; //评论次数
    $user_level  = xypro_user_comment_level($user_id); //用户评论等级
    $user_level  = $user_level ? $user_level : 1;
    $level_max   = _pz('comment_level_max', 7); //最大等级
    $new_level   = $user_level;

    if ($_meta_value < (int) _pz('comment_level_opt', 0, 'comment_upgrade_integral_' . ($user_level + 1))) {
        return;
    }

    if ($_meta_value >= (int) _pz('comment_level_opt', 0, 'comment_upgrade_integral_' . $level_max)) {
        $new_level = $level_max;
    } else {
        for ($i = $user_level; $i <= $level_max; $i++) {
            $upgrade   = (int) _pz('comment_level_opt', 0, 'comment_upgrade_integral_' . $i);
            $upgrade_n = (int) _pz('comment_level_opt', 0, 'comment_upgrade_integral_' . ($i + 1));
            if ($_meta_value >= $upgrade && $_meta_value < $upgrade_n) {
                $new_level = $i;
                break;
                //达到升级要求
            }
        }
    }

    if ($new_level != $user_level) {
        update_user_meta($user_id, 'comment_level', $new_level);
    }
}

 

步骤二

这里需要还有两处添加,分别是 admin-options 跟 options-module ,我们一步一步来,最后会放文件具体位置!

admin-options文件

搜索 启用用户等级 然后在上面找个地方 粘贴进去。

CSF::createSection($prefix, array(
        'parent'      => 'user',
        'title'       => '评论等级',
        'icon'        => 'fa fa-comments-o',
        'description' => '',
        'fields'      => array(
            array(
                'title'   => __('启用评论等级', 'zib_language'),
                'id'      => 'user_comment_level',
                'type'    => 'switcher',
                'default' => true,
            ),
            array(
                'title'   => '最高等级',
                'desc'    => '<i class="fa fa-fw fa-info-circle fa-fw"></i>修改此项后请先刷新页面后,在做其它配置修改(不建议超过10级)',
                'id'      => 'comment_level_max',
                'default' => 7,
                'max'     => 10,
                'min'     => 3,
                'step'    => 1,
                'unit'    => '级',
                'type'    => 'spinner',
            ),
            array(
                'type'  => 'tabbed',
                'id'    => 'comment_level_opt',
                'title' => '等级参数配置',
                'tabs'  => CFS_Module::comment_level_tab(),
            ),
            array(
                'title'   => __('作者图标', 'zib_language'),
                'id'         => 'author_icon',
                'desc'    => __('显示在昵称后方(建议尺寸120x50)'),
                'default' => '',
                'preview' => true,
                'library' => 'image', 'type' => 'upload',
            ),
            array(
                'title'   => __('路人图标', 'zib_language'),
                'id'         => 'pass_icon',
                'desc'    => __('未登录的用户(建议尺寸120x50)'),
                'default' => '',
                'preview' => true,
                'library' => 'image', 'type' => 'upload',
            ),
        ),
    ));

 

options-module文件

搜索这段代码 public static function user_level_tab() 然后在这串代码上面粘贴进去即可。

文件路径

  • functions.php 在 zibll/funtions.php
  • zib-comments-list.php 在 zibll/inc/functions
  • admin-options.php 在 zibll/inc/options
  • options-module.php 在 zibll/inc/options

结束

因为子比主题更新之前的已经无用,这里重新更新一下,等级数据添加到后台设置了!添加完代码后在后台找到 用户&互动 -> 评论等级 保存一下!

本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
温馨提示:本文最后更新于2024-02-14 13:46:44已超过128天没有更新,某些文章具有时效性,若有错误或已失效,请在下方留言或联系官方客服
文章版权声明 1 本网站名称: 资源村
2 本站永久网址:https://www.ziyuancun.com

WWW.ZIYUANCUN.COM
喜欢就支持一下吧
点赞7 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

夸夸
夸夸
还有吗!没看够!
取消
昵称常用语表情代码图片