ellsif blog

愛知のフリーランス プログラマのメモ書きなど

WordPressのJSON APIを使う(その1 検証)

WordPressのJSON APIプラグインを試してみました。
(2013/11/21 一部修正)

やりたいこと

  • WordPressの新着投稿記事を他のページ(サイトトップ)に表示したい
  • サイトトップに出す記事はカテゴリーを制限したい
  • できれば.phpでなく.htmlのままでやりたい

ということで、WordPressから記事情報をJSON形式で取得し、JSで整形して表示する方式にします。
(htmlにjsで出力したらSEO的にダメでしょ!とのツッコミを受け、phpでJSONを受けるように変更)

プラグインのインストール

  1. プラグインのインストールから「JSON」で検索し、検索結果の中から「JSON API」を「いますぐインストール」
  2. インストール完了後、「プラグインを有効化」
  3. ブラウザから”[WordPressのURL]/?json=get_category_posts&id=1″にアクセス
  4. カテゴリーが1(未分類)の投稿がJSONで取れる

こんな感じのJSONが取れます(未分類の記事が無い場合)

{
    "status": "ok",
    "count": 0,
    "pages": 0,
    "category": {
        "id": 1,
        "slug": "%e6%9c%aa%e5%88%86%e9%a1%9e",
        "title": "未分類",
        "description": "",
        "parent": 0,
        "post_count": 0
    },
    "posts": []
}

プラグインの使い方

基本的には「JSON API のドキュメント」に従います。

やりたかったのは

  • カテゴリーが”お知らせ”の記事を、サイトのお知らせとして表示する
  • カテゴリーが”お知らせ”以外の記事を、サイトのブログ新着記事として表示する

なので、それぞれ

  • http://ellsif.com/blog/?json=get_category_posts&slug=info&count=2
  • …(;゚д゚)ァ….

残念ながら2つ目が取得できませんでした。
「~以外」の指定はできないようです。

(2013/11/21 追記)
結局、カテゴリを階層毎に分ける事で対応しました。

・お知らせ (slugにinfoを指定)
・ブログ記事 (slugにcontentsを指定)
 |- JavaScript
 |- PHP
 |- …

これで取ります。

  • http://ellsif.com/blog/?json=get_category_posts&slug=info&count=2
  • http://ellsif.com/blog/?json=get_category_posts&slug=contents&count=4

コメント

コメント
名前
ウェブサイト

*