子比主题为网站所有用户批量将会员等级2设置为会员等级1的代码-博客程序技术分享中心-开发交流社区-GOdou社区

子比主题为网站所有用户批量将会员等级2设置为会员等级1的代码

使用说明

  1. 将下面的代码直接复制粘贴到主题目录…/wp-content/themes/zibll/functions.php文件下面,保存文件
  2. 刷新网站就会自动执行函数,用户很多的话,可能会卡死,则按照下面注释改一下再刷新
  3. 进入后台检查一下,全部都完成后,一定要删除刚刚粘贴的代码

代码:

/**
 * 以下函数会将网站所有二级会员设置为一级会员
 * 刷新页面即可完成,完成后请删除以下代码
 *
 */
function zib_vip_update_level_for_specific_users()
{
    $target_level = 2; // 目标会员等级,也就是我们想要更新的用户当前的会员等级
    $new_level = 1; // 新的会员等级

    $args = array(
        'meta_key'   => 'vip_level', // 根据会员等级元字段筛选
        'meta_value' => $target_level, // 目标等级
        'orderby'    => 'ID',
        'order'      => 'ASC',
        'number'     => -1, // 全部符合条件的用户
        'fields'     => ['ID', 'display_name'],
    );

    $query = new WP_User_Query($args);

    if (!is_wp_error($query)) {
        $get_results = $query->get_results();
        if ($get_results) {
            echo '正在为特定等级用户更新VIP会员等级<br>';
            echo '目标会员等级:' . $target_level . '<br>';
            echo '新会员等级:' . $new_level . '<br><br><br>';
            foreach ($get_results as $user) {
                // 获取当前用户的到期时间
                $exp_date = get_user_meta($user->ID, 'vip_exp_date', true);
                
                // 更新会员等级
                update_user_meta($user->ID, 'vip_level', $new_level);
                
                // 如果需要,也可以在这里更新到期时间,但根据需求,我们保持到期时间不变
                // update_user_meta($user->ID, 'vip_exp_date', $exp_date);

                echo '用户' . $user->display_name . '的会员等级已更新为' . $new_level . '<br>';
            }

            echo '<br><br>操作完成,共计更新' . count($get_results) . '个用户<br>请删除代码';
        } else {
            echo '没有找到会员等级为' . $target_level . '的用户。<br>';
        }
    } else {
        echo '查询过程中出现错误。<br>';
    }

    exit;
}

// 执行函数
zib_vip_update_level_for_specific_users();

 

请登录后发表评论

    没有回复内容