Documents

WordPress REST API


 WordPressがデフォルトでREST API化しているということです。まずは投稿データを取得してみましょう。 WordPress REST API これでいわゆるVue.jsやReact.jsなどからアクセスしてモダンなデザインができるというわけです。 WordPressがバックエンドの情報提供ができるようになってしまったということです。 自身でテーマを作成してjsonで返すようにすれば実際はほとんどの要件を満たすことができるかもしれないのですが、REST APIの真髄は認証動作とPOSTということになるかと思います。つまるところ、管理画面も含めて全部API操作ができると考えてよいと思います。極端な話、Wordpressの記事の投稿や公開、分類などすべてbot化できるということになります。極端な話ですが。

GET

投稿記事を表示する

 デフォルトでは投稿記事の表示数は、設定されたぶんだけ出るので通常のWordpressループと同じです。その数で分割したぶんがページ数になります。10記事ぶん表示の場合の10ページ目は100記事目から表示することになります。per_pageは一度に表示する分量をきめることができます。

/wp-json/wp/v2/posts?page=10

 Wordpressの記事を単純に取得する場合はこのようにGETで簡単に取得することができます。
GETで使えるパラメーターは以下になります。APIって便利ですね。

ページネーションのパラメーター
  • ?page={ n }
  • ?per_page={ n }
  • ?offset={ n }
ソート
  • ?order={ asc | desc }
  • ?orderby={ author | date | id | include | modified | parent | relevance | slug | include_slugs | title }

 例としてはこんな感じです。最近、更新修正したものを降順で取得して5件ずつ表示します。

/wp-json/wp/v2/posts?page=5&order=desc&orderby=modified

検索する

 searchクエリに検索ワードを渡すだけでOKです。複数検索する場合は+で単語をつなぎます。(半角スペースで区切っても可能ですが、間違いそうなので使わない方がよさそうですね。)

/wp-json/wp/v2/posts/?search=wordpress+api

記事単体(single)で取得する

 記事単体(single)で取得するにはIDから取得できます。/wp-json/wp/v2/posts/{ n }という形式です。

/wp-json/wp/v2/posts/5

そのほかの機能

 GETで取得できるAPIはこれだけたくさんありますが、見慣れたWordpressの機能ばかりです。 REST API Developer Endpoint Reference これらのAPIは上記のページネーションのパラメータやソートも一緒に使えます。 また取得の形式も殆どpostsと同じで、例えば投稿画像もIDを指定すると単体で取得できます。/wp-json/wp/v2/media/{ n }

/wp-json/wp/v2/media/7

 GETでできることはここまでで殆どです。細かいパラメータや便利機能はまだまだたくさんあるので、英語しかないようですが、REST API Handbookを読んでみてみてください。



2022.04.05