1

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
    },
     }

なぜ価格がnullに設定されているのですか? WordPressの投稿からカスタムフィールドから価格を抽出する正しい構文は何ですか?

4

1 に答える 1

0

あなたの迅速な助けに感謝します、私は解決策を見つけました、私は価格を取得するために 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));

ありがとうございました 、

于 2016-03-31T12:11:19.113 に答える