Я работаю над плагином WordPress JSON API. Я создал свой собственный контроллер, я хочу получать сообщения в формате Json, моя работа была такой:
Мой PHP-код:
$rows = $wpdb->get_results($wpdb->prepare("select * from $wpdb->posts where $wpdb->posts.post_status = 'publish' AND
$wpdb->posts.post_title LIKE '%%%s%%' ", $key));
$count = 0 ;
foreach( $rows as $post ) {
$output[] = array( 'id' => $post->ID, 'title' => $post->post_title, 'price' =>$post->custom_fields->price);
++$count ;
}
if($count == 0){
$data = array ('status'=>'ok', 'count'=> $count , 'result'=> "No data found ");
}else
{
$data = array ('count'=> $count , 'result'=> $output);
}
header('Content-Type: application/json; charset=UTF-8');
return $data;
}
Результат Json как ниже:
{
"status": "ok",
"count": 10,
"result": [
{
"id": "51",
"title": "a",
"price": null
},
{
"id": "82",
"title": "b",
"price": null
},
}
Почему цена установлена в ноль, какой правильный синтаксис для извлечения цены из пользовательских полей из постов в WordPress?
дорогие спасибо за вашу быструю помощь, я нашел решение, я должен был использовать: функцию get_post_meta, чтобы получить цену, поэтому эта строка:
$output[] = array( 'id' => $post->ID, 'title' => $post->post_title,'price' =>$post->custom_fields->price);
будет следующим:
$output[] = array( 'id' => $post->ID, 'title' => $post->post_title, 'price' =>get_post_meta($post->ID, 'price', true));
благодарю вас ,
Других решений пока нет …