2026年11月9日
2026年11月9日
WordPressのREST APIをReactで利用する方法
はじめに
WordPress REST APIは、WordPressデータを他のアプリケーションやサービスと連携させるための強力なツールです。ReactのようなJavaScriptフレームワークを使用して、WordPressコンテンツをダイナミックかつ高度にカスタマイズされたウェブアプリケーションを作成することができます。
症状・背景
このテーマが必要になる主な場面:
- WordPressデータを他のシステムと同期させる必要がある場合
- ユーザーインターフェースの柔軟性や拡張性を高めたい場合
- RESTful APIを使ってウェブアプリケーションを開発したい場合
- WordPressプラグインでReactコンポーネントを実装する必要がある場合
手順・設定方法
ステップ1: ReactプロジェクトにAxiosを追加
# npmパッケージを使用してaxiosをインストールします。
npm install axios
# プロジェクトのsrcディレクトリ内の適切なファイル(例:api.js)を開きます。
touch src/api.js
# api.jsファイルで、以下のようにaxiosを設定します。
import axios from 'axios';
const API_URL = 'https://あなたのサイト/wp-json/wp/v2/';
export default axios.create({
baseURL: API_URL,
});
ステップ2: WordPress REST APIからデータを取得する
# api.jsファイルで、以下のようにREST APIから投稿データを取得します。
import axios from './api';
const getPosts = async () => {
const response = await axios.get('/posts');
return response.data;
};
export { getPosts };
ステップ3: Reactコンポーネント内でAPIを使用する
# プロジェクトのsrcディレクトリ内に新しいコンポーネントファイル(例:PostList.js)を作成します。
touch src/components/PostList.js
# PostList.jsファイルで、以下のようにgetPosts APIを呼び出します。
import React, { useEffect, useState } from 'react';
import { getPosts } from '../api';
const PostList = () => {
const [posts, setPosts] = useState([]);
useEffect(() => {
const fetchPosts = async () => {
const postsData = await getPosts();
setPosts(postsData);
};
fetchPosts();
}, []);
return (
<ul>
{posts.map(post => (
<li key={post.id}>
<h2>{post.title.rendered}</h2>
<p dangerouslySetInnerHTML={{ __html: post.excerpt.rendered }} />
</li>
))}
</ul>
);
};
export default PostList;
ステップ4: API呼び出しの成功と失敗をハンドリングする
# api.jsファイルで、以下のようにAPI呼び出しが成功したか失敗したかを確認します。
import axios from './api';
const getPosts = async () => {
try {
const response = await axios.get('/posts');
return response.data;
} catch (error) {
console.error('Error fetching posts:', error);
}
};
export { getPosts };
注意事項
- <実践的な注意点1>: WordPress REST APIへのアクセスは、通常HTTP Basic認証またはOAuth2を使用してセキュアにする必要があります。
- <実践的な注意点2>: 大量のデータを取得する場合は、ページネーションを考慮し適切な処理を行うこと。
- <セキュリティ上の注意>: APIキーやシークレットキーなどの敏感な情報は、環境変数を使用して管理すること。
- <パフォーマンス/運用上の注意>: API呼び出しの頻度とタイミングに注意を払い、必要以上にAPIを叩かないようにすることが重要です。
まとめ
1. RESTful API: REST APIを使用することで、WordPressデータを他のシステムやアプリケーションと連携させることが可能になります。
2. Axios: JavaScriptライブラリのaxiosは、HTTPクライアントとしてReactプロジェクトでAPI呼び出しを行う際によく使用されます。
3. セキュリティ: WordPress REST APIへのアクセスには適切な認証が必要です。特に公開しない情報は十分に保護する必要があります。
4. パフォーマンス最適化: API呼び出しの頻度を制御し、必要な最小限のデータだけを取得することでパフォーマンスを向上させることができます。
5. 監視とトラブルシュート: API呼び出しについてのエラーログや応答時間を定期的にチェックして問題点を把握することが重要です。
関連記事: