【问题标题】:Accessing WordPress user meta array values访问 WordPress 用户元数组值
【发布时间】:2016-01-01 14:37:10
【问题描述】:

这是我用来在 WordPress 中检索一些自定义用户元数据的方法:

$user_id = get_current_user_id();
$key = 'submit_data_' . $cat;
$single = true;
$viewed = get_user_meta( $user_id, $key, $single );

var_dump($viewed); 会返回这个:

array(2) { 
["catalog_number"]=> string(6) "VIZ025" 
["sub_date"]=> string(19) "2015-09-29 06:40:18" 
}

当我尝试使用 $viewed["catalog_number"] 访问这些值时,我收到了一个非法偏移警告,我理解,但随后使用 $viewed[0] 之类的东西不会返回任何内容。

如何访问这些值,例如“VIZ025”和日期字符串?

我需要在一些条件中使用这些值,如下所示:

<?php if($viewed["catalog_number"] == $cat) { 
 // stuff here
} ?>

更新

var_dump($viewed, $viewed['catalog_number']); 返回:

 array(2) { ["catalog_number"]=> string(6) "VIZ025"
["sub_date"]=> string(19) "2015-09-29 06:40:18" } string(6) "VIZ025"

已解决

我需要使用 isset,因为新访问者在用户元表中还没有这个:

if (isset($viewed['catalog_number'])) {
 $ccat = $viewed['catalog_number'];
}

这是一个宝贵的教训:始终确保有可访问的价值。

【问题讨论】:

  • $viewed["catalog_number"] 应该不错
  • 在 php 5.4 之后我得到一个非法偏移警告,所以我需要另一个解决方案。 string(6) 是数组值的一部分,这就是我收到警告的原因(我认为)。
  • var_dump($viewed, $viewed['catalog_number']); 它显示了什么?
  • 所以$viewed['catalog_number'] 返回VIZ025。你有什么问题?
  • 你是对的 - 我的代码很好......我只需要检查那里是否真的有一个值。问题已更新。谢谢!

标签: php arrays wordpress


【解决方案1】:

我需要使用 isset,因为新访问者在用户元表中还没有这个:

if (isset($viewed['catalog_number'])) {
 $ccat = $viewed['catalog_number'];
}

这是一个宝贵的教训:始终确保有可访问的价值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    相关资源
    最近更新 更多