編集中のプロファイルのユーザーIDをwp-admin
で取得する方法はありますか?
ユーザーを編集している場合は、URLに含まれていることを知っています。例:./wp-admin/user-edit.php?user_id=427
。常に$_GET['user_id']
でユーザーのIDを取得できますが、wp-admin
で自分のプロフィールを編集しているときはどうですかユーザーIDがURLに含まれていません。 EX ./wp-admin/profile.php
現在編集中のユーザープロファイルのユーザーIDをwp-admin
で取得する簡単な方法はありますか。
そのページには…$user_id
というグローバル変数があります。常に。
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(__( 'Invalid user ID.' ) );
elseif ( ! get_userdata( $user_id ) )
wp_die( __('Invalid user ID.') );
少し簡略化しました。 $ user_id変数にアクセスできませんでした。
// If is current user's profile (profile.php)
if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE ) {
$user_id = get_current_user_id();
// If is another user's profile page
} elseif (! empty($_GET['user_id']) && is_numeric($_GET['user_id']) ) {
$user_id = $_GET['user_id'];
// Otherwise something is wrong.
} else {
die( 'No user id defined.' );
}