【问题标题】:Wordpress - get the userID from custom user metaWordpress - 从自定义用户元中获取用户 ID
【发布时间】:2013-09-13 08:13:04
【问题描述】:

我尝试从我在注册期间创建的 userMeta 密钥获取 wordpress USER ID

用户元键是“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”时,结果是:

array(1) { [0]=> object(WP_User)#126 (7) { ["data"]=> object(stdClass)#2077 (10) { ["ID"]=> 字符串(2) "24" ["user_login"]=> 字符串(7)“Aner”[“user_pass”]=>字符串(34)“$P$BDpMKv0” ["user_nicename"]=> 字符串(7) "aner" ["user_email"]=> 字符串(18) "infe" ["user_url"]=> 字符串(0) "" ["user_registered"]=> 字符串(19)“2013-0 1:02”[“user_activation_key”]=>字符串(0) "" ["user_status"]=> 字符串(1) "0" ["display_name"]=> 字符串(7) "Aner" } ["ID"]=> int(24) ["caps"]=> array(1) { ["subscriber"]=> bool(true) } ["cap_key"]=> string(22) "localhero_capabilities" ["角色"]=> 数组(1) { [0]=> 字符串(10) "订阅者" } ["allcaps"]=> 数组(3) { ["read"]=> bool(true) ["level_0"]=> bool(true) ["订阅者"]=> bool(true) } ["过滤器"]=> NULL } }

我该如何回显这个 ARRAY1[id]?

感谢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;

【问题讨论】:

  • var_dump($lh_users); 看起来像有问题的帖子

标签: php wordpress userid meta-key


【解决方案1】:

如果您想要的只是用户 ID 列表:

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

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

【讨论】:

  • 嗨,$_GET["key"] 只会匹配 1 个用户 ID。所以我不需要列表,我只想将 ID 存储在另一个字符串中。例如 $the_user。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多