WP:WordPress(ワードプレス)

「WP JSON REST API」を使って、記事一覧を表示

「JSON REST API」を使って、

取得したブログ記事の一覧を表示させてみました。

 

投稿記事を取得する場合には、

http://www.sample.jp/blog/wp-json/posts/

というクエリを使用します。

 

で、JQueryを使った方法はいろいろ紹介されていましたが、

私はPHPで何とかしたい。

 

ので、json_decode()関数を使ってやります。

 

ざっくりですが、コードは以下の様になります。

<?php

$path = "http://www.sample.jp/blog/wp-json/posts/";
$ch = curl_init($path);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json = curl_exec($ch);
curl_close($ch);

//パース
$postObj = json_decode($json, true);

if($postObj === NULL) {
    //パースに失敗した場合の処理を記述
}else{

    foreach($postObj as $post){

        $date = strftime("%Y 年 %m 月 %d 日", strtotime(substr($post["date"], 0, 10)));

print<<<EOF
    <div>タイトル:{$post["title"]}</div>
    <div>{$post["content"]}</div>
    <div>公開日時:{$date}</div>
EOF;
    }

}

?>

かなり単純なコードなのでこのままでは業務では使えないと思いますが、

取り敢えずAPIで取得したデータを表示させるだけであれば、

こんなコードで問題ないと思います。

 

因みに、

このAPIはデフォルトだと新着順に10件まで記事を取得出来ますが、

パラメータを付けてやることで、

記事取得数を設定したり、データを絞り込んだり、ソートすることも可能です。

 

例えば、posts_per_pageを設定してやれば、

指定した件数の記事を取得出来ます。

 

他にも、「orderby」や「order」でソートしたりなど、

様々な事が出来ます。

 

例:http://www.sample.jp/blog/wp-json/posts/?filter[posts_per_page]=5&filter[orderby]=date&filter[order]=DESC

詳しくは、

http://wp-api.org/#posts_retrieve-posts

にまとめられています。

 

このあとは、

記事の詳細ページの設定についてもまとめておきたかったのですが、

長くなりそうなので、

以下の記事でまとめています。

「WP JSON REST API」を使って、記事個別ページを作成

0
この記事を書いている人
株式会社ディープ

名前ダッチ

メールアドレスadachi@deep-deep.jp

Twitterはこちら >>

  • コメント: 0

関連記事

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

最近の記事

  1. 太子堂八幡神社の茅の輪
  2. システムエラー
  3. WP:WordPress(ワードプレス)
  4. ITコンサルティング
  5. トラブル
  6. WP:WordPress(ワードプレス)
  7. WP:WordPress(ワードプレス)
  8. WP:WordPress(ワードプレス)
  9. SNSシェア
  10. 開始

Twitter

ダッチ@職業ブロガー兼プログラマー
@gatsu0000

  • 今月の20日が退職日です。 でいろいろやりたいことが出てきたけど、自分にはいろいろと知識が足りてないことに気づきました。 で、本当は大っ嫌いなんですが、読書を開始しました。 何かいい本あったら教えて!エロ本以外で。
    about 2日 ago via Twitter Web App

アーカイブ

PAGE TOP