【问题标题】:wordpress how to retrieve a single custom field value from a custom field arraywordpress 如何从自定义字段数组中检索单个自定义字段值
【发布时间】:2015-06-16 14:51:57
【问题描述】:

我有一个自定义字段,它实际上是一个数组。

我想从这个数组中获取一个字段值。

当我这样做时: $meta = get_post_meta(get_the_ID(), 'my_fields_array'); 进而 var_dump($meta); // 调试 我可以看到数组

如何从这个数组中获取一个值?

【问题讨论】:

  • 你知道如何从 php 数组中获取单个值吗?对$meta做同样的事情
  • 老实说,我知道如何通过“行”号来实现,例如:echo $meta[5] 而我想通过字段名称来实现,例如 $meta['product_it']跨度>
  • var_dump($meta) 的输出是什么?

标签: arrays wordpress custom-fields


【解决方案1】:

如果您只想从数组中获取值而不是使用

var_dump

只需回显您需要的值,例如从 0 开始

<?php 
$meta = array('Best','Worst','Stuff');

echo $meta[1];
 ?>

在我的情况下 echo $meta[1] = Worst

现在对你的代码做同样的事情,如果你只是想看看那个值

【讨论】:

  • 实际上它有点复杂:当我做 var_dumb 我得到这个:array(1) { [0]=> string(... 所以数组实际上包含一个类似于this: "a:6:{s:10:"difficulty";s:4:"easy" 等等。如果我对它进行反序列化,我可以获得整个值(例如,easy, 12, computer, . .. ecc) 但我不能只得到一个特定的值
【解决方案2】:

我想我找到了解决方案:问题是我需要的自定义字段值实际上被序列化为字符串。所以如果我对它们进行反序列化,我就能得到我需要的东西:

$meta= get_post_meta( $post->ID, 'custom_field_array', true );
$myvalues = unserialize( $meta );
echo $myvalues[my_value];

有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多