WordPress get_post_meta返回一个字符串如何访问单个键值

时间:2014-12-31 23:23:54

标签: php wordpress

我正在尝试修复一些代码并显示使用自定义元变量设置的图像。我在wp_postmeta中找到了保存的数据,看起来数据保存为字符串,但我可以看到一个明显的键值对。

当我使用以下代码时......

 $imgVar = get_post_meta($post->ID, 'attachments', true);

 $testing4 = $imgVar;

 var_dump($testing4);

...我得到以下输出......

string(101) "{"my_item":[{"id":"653","fields":{"title":"mytitle","caption":"test this out"}}]}"

...这看起来好像告诉我输出是一个包含101个字符的字符串,但是我看到了键值和一个数组。

我想要输出的是什么,或者它应该是什么......

array[0](

  "my_item" => array(
         "id" => "653",
         "fields" => array(
                "title" =>"mytitle",
                "caption" => "test this out"
            ),
    )

),

有人可以解释这个newb :)的输出,以及是否可以将输出的内容转换为常规数组。或者,如果我可以在不切换输出的情况下访问键值“id => 653”。

感谢。

3 个答案:

答案 0 :(得分:1)

输出字符串可能是序列化的(更容易让Wordpress更有效地存储数据)。

尝试:

<?php maybe_unserialize( $original ) ?>

如果您想了解更多相关信息,请参阅:http://codex.wordpress.org/Function_Reference/maybe_unserialize

答案 1 :(得分:0)

  

$ var = json_decode($ testing4);

答案 2 :(得分:0)

使用<pre>标记格式输出

echo '<pre>' . var_dump($testing4) . '</pre>';