2013-09-09 3 views
1

Я пытаюсь получить wordpress USER ID с помощью ключа UserMeta, который я создал во время регистрации.Wordpress - получить userID от пользовательского пользователя meta

Ключ пользователя «lh_scuritycode» с метазначением $_GET["key"].

$_GET["key"] = f16dea7e995b14e420ddb96fb7dbd67f

Это мой код:

<?php 

if ((ctype_alnum($_GET["key"])) && (strlen($_GET["key"]) == 32)) { 

    $lh_users = get_users(array(
        "meta_key" => "lh_scuritycode", 
        "meta_value" => $_GET["key"], 
        "number" => 1, 
        "count_total" => false 
       )); 

    foreach ($lh_users as $lh_user) { 
     echo '<li>' . $lh_user->id . '</li>'; 
    } 

} else {  
    echo "Der String ".$_GET["key"]." ist fehlerhaft.\n"; 
} 

?> 

Теперь $lh_users только массив, если я echo его. Когда я использую foreach, он работает. Как я могу сделать это без этого foreach?

, когда я сделать это "var_dump" Результат:

массив (1) {[0] => объект (WP_User) # 126 (7) {[ "данные"] => объекта (stdClass) # 2077 (10) {["ID"] => строка (2) "24" ["user_login"] => строка (7) "Aner" ["user_pass"] => строка (34) " $ P $ BDpMKv0 " [" user_nicename "] => string (7)" aner "[" user_email "] => string (18) " infe "[" user_url "] => string (0)" "[" user_registered "] => string (19)" 2013-0 1:02 "[" user_activation_key "] => string (0) " "[" user_status "] => string (1)" 0 "[" display_name " ] => строка (7) "Aner" } ["ID"] => int (24) ["caps"] => array (1) {["подписчик"] => bool (true)} ["cap_key"] => строка (22) "localhero_capabilities " [" role "] => array (1) {[0] => строка (10)" подписчик "} [" allcaps "] => массив (3) {[" read "] => bool (true) [ "level_0"] => BOOL (истина) [ "абонент"] => BOOL (истина)} [ "фильтр"] => NULL}}

И Как эхо этого array1 [идентификатор ]?

Благодаря GWC

я сделать это таким образом:

if ((ctype_alnum($_GET["key"])) && (strlen($_GET["key"]) == 32)) { 

$lh_users = get_users(array(
"meta_key" => "lh_scuritycode", 
"meta_value" => $_GET["key"], 
"number" => 1, "fields" => "ID" 
)); 

$this_user = $lh_users[0]; 

echo $this_user; 
+0

что делает 'var_dump ($ lh_users); 'Посмотрите, как сообщение в вопросе –

ответ

4

Если все, что вы хотите, это список идентификаторов пользователей:

$lh_users = get_users(array(
       "meta_key" => "lh_scuritycode", 
       "meta_value" => $_GET["key"], 
       "fields" => "ID" 
      )); 

echo '<li>' . implode('</li><li>', $lh_users) . '</li>'; 
+0

Привет, $ _GET [" ключ "] будет соответствовать только 1 userID. Поэтому мне не нужен список, я просто хочу сохранить идентификатор в другой строке. например $ the_user. – user1600867

Смежные вопросы