从插件中获取用户ID

时间:2017-08-08 作者:Dudley

我想从插件中获取当前用户id,并将其用作变量。

我的代码是

$current_user = wp_get_current_user();
$user_id = $current_user->ID;

$loc_statuss = $wpdb->get_row( "SELECT status FROM profile_location INNER JOIN relation_user ON profile_location.loc_id=relation_user.loc_id WHERE relation_user.user_id=$user_id" );
$loc_status = $loc_statuss->status;
我发现了几个相同的问题,但这些答案似乎对我不适用。

谢谢

2 个回复
SO网友:Rahul Parikh

如果只需要当前用户id,请使用get\\u current\\u user\\u id,因为这样可以减少执行时间。get\\u current\\u user\\u id仅获取当前用户id,其中wp\\u get\\u current\\u user获取所有用户数据。否则一切都是完美的。

$user_id = get_current_user_id();

$loc_statuss = $wpdb->get_row( "SELECT status FROM profile_location INNER JOIN relation_user ON profile_location.loc_id=relation_user.loc_id WHERE relation_user.user_id=".$user_id );
$loc_status = $loc_statuss->status;

SO网友:Cesar Henrique Damascena

请尝试以下代码:

// Set up the global variables
$user_id;
$loc_status;

// When the user login, setup all variables that you need

function get_user_informations( $redirect_to, $request, $user ) {
    //is there a user to check?
    if ( $user ) {
      $user_id = $user->id;

      $loc_statuss = $wpdb->get_row( "SELECT status FROM profile_location INNER JOIN relation_user ON profile_location.loc_id=relation_user.loc_id WHERE relation_user.user_id=".$user_id );
      $loc_status = $loc_statuss->status;

    }
}

add_filter( \'login_redirect\', \'get_user_informations\', 10, 3 );
更多关于login_redirectDocs.

结束

相关推荐

克隆像users.php这样的管理页面

在我的项目中,我想创建一个新的菜单位置,它实际上是“用户”页面的副本,但需要一些额外的过滤器/修改。例如,我需要在用户上方有另一个名为“Admins”的菜单位置,它将显示完全相同的结构化页面,但只有Admin用户。这是为了给我的客户带来更好/更简单的用户体验。我的问题是如何做到这一点?我知道有些函数add_menu_page 但是像这样使用它们(users.php 作为标识符):add_menu_page( \'custom menu title\', \'custom menu\', \'users.p