Come ottenere l'ID utente del profilo corrente in fase di modifica in WP-Admin?

17 ott 2012, 01:08:06
Visualizzazioni: 14.5K
Voti: 7

Esiste un modo per ottenere l'ID utente del profilo in fase di modifica in wp-admin?

So che è presente nell'URL se stai modificando un altro utente, ES: ./wp-admin/user-edit.php?user_id=427. Potresti sempre usare $_GET['user_id'] per recuperare l'ID utente, ma cosa succede quando modifichi il tuo profilo in wp-admin? L'ID utente non sarebbe nell'URL. ES ./wp-admin/profile.php

Esiste un modo semplice o universale per recuperare l'ID utente del profilo corrente in fase di modifica in wp-admin?

0
Tutte le risposte alla domanda 2
0

C'è una variabile globale chiamata … $user_id disponibile in quella pagina. Sempre.

Da 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 utente non valido.' ) );
elseif ( ! get_userdata( $user_id ) )
    wp_die( __('ID utente non valido.') );
17 ott 2012 01:11:39
0

Un po' semplificato. Non avevo accesso a una variabile $user_id.

// Se è il profilo dell'utente corrente (profile.php)
if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE ) {
    $user_id = get_current_user_id();
// Se è la pagina del profilo di un altro utente
} elseif (! empty($_GET['user_id']) && is_numeric($_GET['user_id']) ) {
    $user_id = $_GET['user_id'];
// Altrimenti c'è qualcosa che non va.
} else {
    die( 'Nessun ID utente definito.' );
}
4 ago 2013 19:23:47