カスタマイズ 2024.04.18 2024.04.25
WordPress REST APIとは|概要と基本のコマンドをわかりやすく解説
WordPressのデータを他のサイトやアプリケーションで利用するための仕組みがWordPress REST APIです。自社サイトのコンテンツを転用して別のサービスを構築したり、外部からWordPressを操作できるようにすることで作業の効率化が図れます。
なかなかイメージしにくい部分もありますが、この記事を読むとWordPress REST APIの大まかな仕組みや使い方、基本のコマンドが理解できます。
目次
WordPress REST APIとは
WordPress REST APIは、WordPress 4.7(2016年12月リリース)から正式に採用された機能です。開発者向けのインターフェースで、外部システムからWordPressに接続して各種機能やデータを利用できるようになります。
「API」とは
API(Application Programming Interface)は、ソフトウェアが他のソフトウェアと情報をやり取りするための規約です。ソフトウェア、プログラム、Webアプリケーションなどの間を繋ぐ仕組みですが、現在は主にWeb APIを指すことがほとんどです。
例えば、ChatGPTのAPIを使用すると生成AIの機能を自身のアプリ内で利用できます。同じように、WordPress REST APIを使用すると、WordPressの一部の機能やデータを自身のアプリで利用できるようになります。
「REST」とは
REST(Representational State Transfer)は、ウェブサービスの設計モデルの一つです。システムの状態に依存せず、HTTPメソッド(GET、POST、PUT、DELETEなど)を使ってリソースを操作できるのが特徴です。
WordPress REST APIでできること
WordPress REST APIを使用すると、管理画面を通さずにWordPressの投稿、ページ、カテゴリー、タグなどのコンテンツをJSON形式で取得・更新・削除できるようになります。
コンテンツを取得するイメージとして、Webブラウザから取得したデータを確認してみましょう。Webブラウザのアドレスバーに以下のURLを入れるとWordPress日本公式サイト(https://ja.wordpress.org/)の情報を取得できます。
1 |
https://ja.wordpress.org/wp-json/wp/v2/posts?_per_page=5 |
WordPress REST APIを使用することで、外部からWordPressのさまざまなデータを取得したり管理できるようになります。これにより、さまざまな価値に繋げることができます。
WordPress REST APIの価値
WordPress REST API を活用することで、便利なアプリの提供や効率的なシステムの開発などの付加価値を創出できます。
例えば、自社で運営しているWebメディアの情報を表示するスマホアプリを構築することで、ブランディング強化や顧客のファン化促進が期待できます。スマホから記事投稿ができるシステムを構築することにより、作業の効率化を図ることが可能です。
アメリカのある大手新聞社では、WebサイトのコンテンツをFacebook Instant ArticlesやApple Newsなどに送信するシステムをWordPress REST APIを使用して構築し、自社サイトの記事を他社アプリへ簡単に公開できるようにしました。また別の新聞社では取材している記者がSlackから直接ブログ投稿を行えるようなシステムを開発し、ニュースの速報性を高めています。
WordPress REST APIの基本コマンド
コマンドプロンプトを起動し、データにアクセスします。以下の4つのコマンドが基本です。
GET | 投稿などのデータを取得するコマンド |
POST | 新規に投稿などのデータを追加するコマンド |
PUT | 既存のデータを編集・更新するコマンド |
DELETE | データを削除するコマンド |
GET
GETコマンドは、投稿などのデータを取得する際に使用するコマンドです。
例:最新の投稿を5件取得するコマンド
1 |
$ curl https://hogehoge.com/wp-json/wp/v2/posts?_per_page=5 |
※curlコマンドではデフォルトでGETメソッドが使用されます。そのため「GET」を記述しなくても大丈夫です。
POST
POSTコマンドを使用すると、WordPressに新しく投稿などを追加できます。
例:指定したIDの固定ページを作成するコマンド(
1 |
$ curl -X POST https://hogehoge.com/wp-json/wp/v2/posts/<id> |
PUT
PUTコマンドを使用すると、投稿や固定ぺージなどを編集できます。
DELETE
DELETEコマンドを使用すると、投稿や固定ページなどを削除できます。
例:指定したIDの投稿を削除するコマンド(
1 |
$ curl -X DELETE https://hogehoge.com/wp-json/wp/v2/posts/<id> |
(参照:REST API HandbookReferencePosts List Posts)
WprdPress REST API使用時に認証が必要になるケースがある
WordPress REST APIを使用する際には、WordPressの管理画面にログインする必要はありません。しかし、サイトにアクセスした際に認証プロセスが求められる場合があります。
その場合は、事前に「JWT Authentication」などのプラグインをインストールして認証が利用できるようにする必要があります。
(参考)JWT Authentication
https://ja.wordpress.org/plugins/jwt-authentication-for-wp-rest-api/
JWT(JSON Web Token)とは、JSONオブジェクトを利用してデータを安全に送信する仕組みです。認証プラグイン「JWT Authentication」を使用すると、JWT認証を利用できるようになります。
WordPress REST APIを無効にする選択も
WordPress REST APIは開発者にとって便利な機能です。しかし外部からデータのアクセスができるということは、正しく使用しないとセキュリティ面でのリスクに繋がる恐れがあります。
2017年には、WordPress REST APIの脆弱性を狙ったサイバー攻撃が発生、多くのサイトが改ざん被害を受けました。現在は大きな脆弱性は発見されていませんが、WordPress REST APIを使用しないのであれば、セキュリティ上の理由から無効化したほうが安全です。
WordPress REST APIを無効にする方法は、プラグインを使用する方法と「functions.php」にコードを追加する方法があります。
プラグイン「Disable WP REST API」を使用する方法
「Disable WP REST API」は、その名のとおりWordPress REST APIを無効化できるプラグインです。複雑な設定は不要で、インストールするだけで使用できます。
【手順】WordPress管理画面から「プラグイン」→「新規プラグインを追加」を開き、キーワード欄にプラグイン名(Disable WP REST API)を入力して検索します。プラグインを見つけたら「今すぐインストール」をクリックしてインストールしてから「有効化」をクリックします。
「Disable WP REST API」で検索すると、よく似た名前の「Disable REST API」が見つかります。今回使用するプラグインと間違えやすいので注意してください。
手動でPHPファイルにコードを追加する方法
「functions.php」にコードを追加することで、WordPress REST APIを無効にできます。以下のコードは、WordPressにログインしていない場合にだけWordPress REST APIを無効にするものです。
【手順】FTPソフト等でディレクトリにアクセスし、適用しているテーマのfunctions.phpをダウンロードしてからファイルに以下のコードを追加してサーバーへ再度アップロードしてください。
1 2 3 4 5 6 7 |
function deny_rest_api_if_not_logged_in( $result ) { if ( ! is_user_logged_in() ) { return new WP_Error( 'rest_login_required', 'REST API is disabled.', array( 'status' => rest_authorization_required_code() ) ); } return $result; } add_filter( 'rest_authentication_errors', 'deny_rest_api_if_not_logged_in' ); |
※作業する際には、必ずファイルのバックアップを取得するようにしてください。
まとめ
WordPress REST APIは、外部からWordPressのデータを取得・操作できる仕組みとして大きな可能性を持っています。運営しているWordPressサイトの価値を高める手段として、また効率的にサイト運営を行う手段として、使い方をマスターすると自社の強みに繋げることができるでしょう。
WordPressサイト制作・カスタマイズなら「wp.make」にお任せ!
WordPressでのサイト制作やリニューアルを検討する時、以下のようなお悩みはありませんか?
- WordPressに詳しい制作会社に依頼したいが、どこがいいかわからない…
- セキュリティ対策をしっかりしたいが、社内にノウハウがないのでプロに任せたい…
- WordPressに最適なサーバーの選定や構築から依頼したい…
- SEO対策や高速化も考慮したサイト構築を行なってほしい…
- 制作後の保守・運用についてもサポートしてほしい…
- 今のサイトを簡単に運用できるようにしてほしい…
「wp.make」は、WordPressのプロフェッショナル集団によるWordPressサイト制作・カスタマイズサービスです。
サイトの制作だけでなく、WordPressに最適なサーバーの選定や構築といったインフラ面の支援から、SEO対策や表示スピードの高速化、高度なセキュリティ対策や制作後の保守・運用サポートまで、WordPressに関わることならあらゆるお悩みを解消いたします。
既存のお客さまからも
「コミュニケーションが取りやすく、クオリティが高い」
「WordPressのプロとして信頼感がある」
と大変ご好評をいただいています。
WordPressサイトの制作・カスタマイズをご検討されているなら、ぜひ以下からお気軽にご相談ください。
WordPress開発・カスタマイズなら 『wp.make』
全案件WordPressのみ!
株式会社e2eの『wp.make』はWordPress専門のWeb制作サービスです。
WordPress案件だけを扱っているから、技術・ノウハウ・対応力が圧倒的!
【WordPressサイト制作でよくあるお悩み】
・運用シーンが想定されておらず、更新しづらかった…
・打ち合わせで専門用語が多くてわかりづらい…
・制作後の保守には対応してくれなかった…
こんな事態になる前に、ぜひ一度、ご相談ください!
WordPressサイトを作るなら、一番WordPressに詳しいところへ!