get_post_meta - получение единичного значения
25 окт. 2012 г., 22:15:07
Просмотры: 22.7K
Голосов: 1
Когда я использую get_post_meta($post->ID, "company_wp_box_g", false)
, я получаю массив пар ключ/значение.
array (size=1)
0 =>
array (size=7)
'f_name' => string 'John Doe' (length=14)
'f_company_name' => string 'Something Ltd' (length=0)
'f_description' => string '' (length=0)
'f_phone' => string '0208 992 7222' (length=13)
'f_cell_phone' => string '07809775200' (length=0)
'f_email' => string 'jonh.doe@gmail.com' (length=0)
'f_web' => string 'doe.com' (length=0)
Как получить отдельное значение, например f_name
?
Для информации: всё происходит внутри foreach цикла
:
$args = array(
'numberposts' => -1,
'post_type' => 'company'
);
$posts = get_posts($args);
foreach ($posts as $post){
// выполнить действия
}

Iladarsda
321
Комментарии
Все ответы на вопрос
1
2
Если каждое мета-значение имеет ключ f_name
$meta = get_post_meta($post->ID, "company_wp_box_g", true);
echo $meta['fname'];
Если вы не уверены в содержимом и хотите найти первое доступное значение
$name = false;
$meta = get_post_meta($post->ID, "company_wp_box_g", false);
foreach($meta as $array) {
if(isset($array['f_name'])) {
$name = $array['f_name'];
break;
}
}
echo $name;

Mridul Aggarwal
6.66K
25 окт. 2012 г. 22:28:10
Комментарии
можно ли сделать это без использования переменной? get_post_meta($post->ID, "company_wp_box_g", true)->key
??

25 окт. 2012 г. 22:33:26
Вы не можете использовать get_post_meta($post->ID, "company_wp_box_g", true)->key
, так как возвращаемое значение функции - это не объект, а массив, но вы можете, вероятно, преобразовать его в объект и затем использовать ((object)get_post_meta($post->ID, "company_wp_box_g", true))->key

25 окт. 2012 г. 22:36:37
Похожие вопросы
2
ответов
5
ответов