繁体   English   中英

WordPress,检索当前正在编辑的用户个人资料页面的ID

[英]WordPress, retrieving the ID of the user profile page currently being edited

我正在开发WordPress插件。 编辑用户的个人资料页面时,我需要能够检索该用户的ID( 而不是当前登录的用户 )。

我正在使用“高级自定义字段”插件,并且正在使用该功能的负载过滤器。

add_filter( 'acf/load_field/name=funbotic_parents', 'funbotic_load_parents' );

function funbotic_load_parents( $field ) {

    $args = array(
        'role'      => 'customer',
        'orderby'   => 'display_name',
        'order'     => 'ASC',
    );

    $parent_data_array = get_users( $args );

    // Clear choices array in case it was previously set.
    $field['choices'] = array();

    foreach ( $parent_data_array as $parent ) {
        $parent_ID = $parent->ID;
        $parent_display_name = $parent->display_name;
        $field['choices'][$parent_ID] = $parent_display_name;
    }

    $current_user = (int) $_GET['user_id'];

    $previously_associated_parents = get_user_meta( $current_user_id, 'funbotic_parents' );

    if ( empty( $previously_associated_parents ) || is_null( $previously_associated_parents ) ) {
        update_user_meta( $current_user_id, 'funbotic_previously_associated_parents', $previously_associated_parents );
    } else {
        $new_meta = funbotic_clean_array( $previously_associated_parents );
        update_user_meta( $current_user_id, 'funbotic_previously_associated_parents', $new_meta );
    }

    return $field;

}

$current_user = (int) $_GET['user_id']; 返回null 有没有办法从网址中提取“ user_id”? 这不是一个理想的解决方案,但是在这一点上,我开始变得绝望了。 该URL如下所示:

http://dev-funbotic.local/wp-admin/user-edit.php?user_id=115&wp_http_referer=%2Fwp-admin%2Fusers.php%3Fs%3Dtest%26action%3D-1%26new_role%26course_id%26group_id%26paged%3D1%26action2%3D-1%26new_role2

您可以尝试获取当前网址并将其分解为查询参数,如下所示:

$query  = explode('&', $_SERVER['QUERY_STRING']);
                $params = array();
                if(!empty($query[0])){
                    foreach( $query as $param ){
                    list($name, $value) = explode('=', $param, 2);
                    $params[urldecode($name)][] = urldecode($value);
                    }
                }


那么您可以通过$params['user_id'][0]访问user_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM