步骤一
主要代码还是在 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 . 'https://img.huliku.com/pic/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文件
搜索 启用用户等级 然后在上面找个地方 粘贴进去。
options-module文件
搜索这段代码 public static function user_level_tab() 然后在这串代码上面粘贴进去即可。
public static function comment_level_tab()
{
$max = _pz('comment_level_max', 7);
$tab = array();
for ($i = 1; $i <= $max; $i++) {
$tab[] = array(
'title' => 'Lv ' . $i,
'fields' => array(
array(
'title' => __('等级图标', 'zib_language'),
'id' => 'comment_level_icon_' . $i,
'desc' => __('自定义等级的小图标,显示在昵称后方(建议尺寸120x50)') . ($i > 7 ? '<br>开启更高等级需要自己制作等级图标' : ''),
'default' => ($i < 8 ? 'https://kpi.21lhz.cn/images/lv/' . $i . '.png' : ''),
'preview' => true,
'library' => 'image',
'type' => 'upload',
),
array(
'title' => '等级名称',
'id' => 'comment_name_' . $i,
'default' => '评论等级:Lv.' . $i,
'type' => 'text',
),
array(
'title' => '升级经验',
'class' => ((1 === $i) ? 'hide' : ''),
'desc' => '当用户的评论等级次数达到多少时,升级到此等级<div class="c-yellow"><i class="fa fa-fw fa-info-circle fa-fw"></i>此评论等级次数必须高于上一级,否则会出现错误</div>',
'id' => 'comment_upgrade_integral_' . $i,
'default' => ($i - 1) * 10,
'max' => 1000000,
'min' => 0,
'step' => 50,
'type' => 'spinner',
),
),
);
}
return $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
结束
因为子比主题更新之前的已经无用,这里重新更新一下,等级数据添加到后台设置了!添加完代码后在后台找到 用户&互动 -> 评论等级 保存一下!
免费下载和付费下载区别:
PS:本站所有资源均可以免费下载(免费和付费唯一区别就是下载速度不同)
免费下载链接为低速下载通道
付费下载链接为多线程高速下载通道
PS:本站所有资源均可以免费下载(免费和付费唯一区别就是下载速度不同)
免费下载链接为低速下载通道
付费下载链接为多线程高速下载通道
© 版权声明
THE END
- 最新
- 最热
只看作者