You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress获取同account_parent用户的designs_save_user_list数据

数据表参考

对应WordPress标准wp_usermeta用户元数据表结构,核心字段为user_id、meta_key、meta_value。

需求说明
  • 查询所有配置了account_parent元字段、且该字段值与当前登录用户的account_parent值完全一致的用户ID
  • 批量拉取上述匹配到的所有用户对应的designs_save_user_list元数据
现存问题

现有代码仅支持获取当前登录用户单个账号下的designs_save_user_list数据,无法批量拉取同属一个account_parent分组下所有用户的对应数据。

原有代码片段:

if(is_user_logged_in()){
        $user_ID = get_current_user_id();       
        $get_designs_list = get_user_meta($user_ID, 'designs_save_user_list', true);
实现代码

使用WordPress原生WP_User_Query完成用户匹配查询,兼容站点表前缀配置、自动走系统用户缓存,性能比手写原生SQL更稳定:

if (is_user_logged_in()) {
    $current_uid = get_current_user_id();
    // 获取当前登录用户所属的父账号ID
    $current_parent_val = get_user_meta($current_uid, 'account_parent', true);
    $group_design_lists = [];

    if ($current_parent_val) {
        // 查询所有同属该父账号的用户ID
        $matched_users = new WP_User_Query([
            'meta_key'   => 'account_parent',
            'meta_value' => $current_parent_val,
            'fields'     => 'ID',
            'cache_results' => true // 开启查询缓存
        ]);
        $matched_uids = $matched_users->get_results();

        if ($matched_uids) {
            foreach ($matched_uids as $uid) {
                $user_designs = get_user_meta($uid, 'designs_save_user_list', true);
                if ($user_designs) {
                    $group_design_lists[$uid] = $user_designs;
                }
            }
        }
    }
    // $group_design_lists 即为最终需要的同组所有用户的设计保存列表数据,数组键为对应用户ID
}

优化提示:如果站点同组用户量超过100,可给查询结果加10-15分钟的临时缓存,减少重复数据库查询开销。

内容的提问来源于stack exchange,提问作者Rafael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:09:29