REST APIの基本

WordPressには標準でREST APIが搭載されており、以下のようなURLにアクセスするだけで投稿データをJSON形式で取得できます。

https://example.com/wp-json/wp/v2/posts

JavaScriptからのデータ取得

fetch('/wp-json/wp/v2/posts')
  .then(response => response.json())
  .then(posts => {
    posts.forEach(post => {
      console.log(post.title.rendered);
    });
  });

カスタムエンドポイントの作成

<?php
add_action('rest_api_init', function () {
    register_rest_route('my-theme/v1', '/hello', array(
        'methods'  => 'GET',
        'callback' => function () {
            return array('message' => 'Hello from my theme!');
        },
        'permission_callback' => '__return_true',
    ));
});

セキュリティ上の注意

permission_callbackを必ず設定認証が不要なエンドポイントには__return_trueを設定しますが、機密情報を扱うエンドポイントでは適切な権限チェックを必ず実装してください。詳しくはセキュリティ対策を参照してください。

関連コンテンツ

↑