REST API活用
WordPress REST APIを使うと、投稿データ等をJSON形式で取得でき、JavaScriptを使った動的な表示や、ヘッドレスCMSとしての活用が可能になります。
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を設定しますが、機密情報を扱うエンドポイントでは適切な権限チェックを必ず実装してください。詳しくはセキュリティ対策を参照してください。