「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」を使って、記事個別ページを作成
この記事へのコメントはありません。