从wp_postmeta检索数据

时间:2014-04-10 22:34:06

标签: php arrays wordpress

我知道这可能是一个愚蠢的问题。我正在尝试从wordpress表wp_postmeta中检索数据,特别是meta_value列。 php中是否有一个函数可以从这种数据中获取每个字段?

例如,我如何从这个

获得“Gabriela Castro en Costa Rica”的价值
a:1:{s:14:"billing-seller";a:3:{s:4:"name";s:14:"billing-seller";s:5:"value";s:29:"Gabriela Castro en Costa Rica";s:5:"label";s:26:"Select one option, please.";}}

感谢。

3 个答案:

答案 0 :(得分:1)

这看起来像一个序列化的数组,我不熟悉Wordpress但可能会尝试这样的事情:

get_user_meta( '99999', 'your-key', true );

您可以在此处找到有关get_user_meta的更多信息:

https://wordpress.stackexchange.com/questions/9716/how-to-retrieve-the-value-stored-in-a-multi-dimensional-array-and-sum-the-entrie

答案 1 :(得分:0)

get_post_meta()是您需要使用的功能。

$value = get_post_meta( $post_id, 'key', true );

$value将成为您的字符串。

https://codex.wordpress.org/Function_Reference/get_post_meta

答案 2 :(得分:0)

首先,我发布的序列化字符串来自于:

get_post_meta($order->orders, '_custom_billing_fields', true);

那就是给我这个(原始问题):

a:1:{s:14:"billing-seller";a:3:{s:4:"name";s:14:"billing-seller";s:5:"value";s:29:"Gabriela Castro en Costa Rica";s:5:"label";s:26:"Select one option, please.";}} 

现在这就是我为了获得我试图减去的价值所做的工作:

$sellerBigArray = (array)maybe_unserialize(get_post_meta($order->orders, '_custom_billing_fields', true));

$sellerArray=$sellerBigArray['billing-seller'];

$seller=$sellerArray['value'];

我希望它有所帮助。

再见