Zibll子比主题美化 网站评论等级美化

Jaysun

温馨提示:这篇文章已超过376天没有更新,请注意相关的内容是否还可用!

效果演示

1.png

评论登记图标美化,非常不错,对评论登记名称也做了相关调整,效果比原版的还要好看,喜欢的要收藏好,说不定一会就用上了。

步骤一

主要代码还是在 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); //获取用户评论次数
            xypro_update_user_comment_level($user_id, $com_n); //刷新评论等级
            $badge .= xypro_user_comment_level_badge($user_id, 'ml3'); //添加评论徽章
            $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); //获取用户评论次数
            xypro_update_user_comment_level($user_id, $com_n); //刷新评论等级
            echo xypro_user_comment_level_badge($user_id, 'ml3'); //添加评论徽章
        
            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() 然后在这串代码上面粘贴进去即可。

付费内容
售价:5 积分
开通青铜VIP或更高级的会员可免费查看该内容
登录注册购买

文件路径

  • functions.php 在 zibll/funtions.php

  • zib-comments-list.php 在 zibll/inc/functions

  • admin-options.php 在 zibll/inc/options

  • options-module.php 在 zibll/inc/options

结束

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

因为子比主题不断更新,最新版的并没有测试,需要的自行测试。

您需要 登录账户 后才能发表评论

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,1484人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码