Cómo obtener el ID de usuario del perfil actual que se está editando en WP-Admin
17 oct 2012, 01:08:06
Vistas: 14.5K
Votos: 7
¿Existe alguna forma de obtener el ID de usuario del perfil que se está editando en wp-admin
?
Sé que aparece en la URL cuando editas un usuario, EJ: ./wp-admin/user-edit.php?user_id=427
. Siempre se podría usar $_GET['user_id']
para obtener el ID del usuario, pero ¿qué pasa cuando editas tu propio perfil en wp-admin
? El ID de usuario no aparecería en la URL. EJ: ./wp-admin/profile.php
¿Existe una forma sencilla o general de obtener el ID de usuario del perfil actual que se está editando en wp-admin
?
Todas las respuestas a la pregunta
2
0
Existe una variable global llamada … $user_id
disponible en esa página. Siempre.
Desde user-edit.php
:
$user_id = (int) $user_id;
$current_user = wp_get_current_user();
if ( ! defined( 'IS_PROFILE_PAGE' ) )
define( 'IS_PROFILE_PAGE', ( $user_id == $current_user->ID ) );
if ( ! $user_id && IS_PROFILE_PAGE )
$user_id = $current_user->ID;
elseif ( ! $user_id && ! IS_PROFILE_PAGE )
wp_die(__( 'ID de usuario inválido.' ) );
elseif ( ! get_userdata( $user_id ) )
wp_die( __('ID de usuario inválido.') );

fuxia
107K
17 oct 2012 01:11:39
0
Un poco simplificado. No tenía acceso a una variable $user_id.
// Si es el perfil del usuario actual (profile.php)
if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE ) {
$user_id = get_current_user_id();
// Si es la página de perfil de otro usuario
} elseif (! empty($_GET['user_id']) && is_numeric($_GET['user_id']) ) {
$user_id = $_GET['user_id'];
// De lo contrario, algo está mal.
} else {
die( 'No se ha definido un ID de usuario.' );
}

Jake
1.82K
4 ago 2013 19:23:47
Preguntas relacionadas
2
respuestas