Cum să obții ID-ul utilizatorului al profilului curent editat în WP-Admin?

17 oct. 2012, 01:08:06
Vizualizări: 14.5K
Voturi: 7

Există o modalitate de a obține ID-ul utilizatorului al profilului care este editat în wp-admin?

Știu că se află în URL dacă editezi un utilizator, EX: ./wp-admin/user-edit.php?user_id=427. Aș putea folosi întotdeauna $_GET['user_id'] pentru a prelua ID-ul utilizatorului, dar ce se întâmplă când editezi propriul profil în wp-admin? ID-ul utilizatorului nu ar fi în URL. EX ./wp-admin/profile.php

Există o metodă ușoară sau generală de a obține ID-ul utilizatorului al profilului curent editat în wp-admin?

0
Toate răspunsurile la întrebare 2
0

Există o variabilă globală numită … $user_id disponibilă pe acea pagină. Întotdeauna.

Din 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 utilizator invalid.' ) );
elseif ( ! get_userdata( $user_id ) )
    wp_die( __('ID de utilizator invalid.') );
17 oct. 2012 01:11:39
0

Un pic simplificat. Nu am avut acces la o variabilă $user_id.

// Dacă este profilul utilizatorului curent (profile.php)
if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE ) {
    $user_id = get_current_user_id();
// Dacă este pagina de profil a altui utilizator
} elseif (! empty($_GET['user_id']) && is_numeric($_GET['user_id']) ) {
    $user_id = $_GET['user_id'];
// Altfel ceva nu este în regulă.
} else {
    die( 'Nu există ID de utilizator definit.' );
}
4 aug. 2013 19:23:47