WordPressは、ウェブサイトの制作やブログの運営に広く利用されている、パワフルで柔軟なプラットフォームです。しかし、時には他のWordPressサイトから投稿データを取得して、自分のサイトに表示させたい場合があります。この記事では、そのようなシナリオに対処する方法を詳しく説明します。
REST APIを使用する
REST APIは、異なるWordPressサイト間でデータを共有するための便利な方法です。REST APIを使用して他のWordPressサイトから投稿データを取得し、表示させる手順は以下の通りです。
REST APIを有効にする
まず、対象のWordPressサイトでREST APIを有効にする必要があります。WordPressダッシュボードにログインし、設定 > パーマリンクから「投稿名」を選択し、REST APIを有効にします。
REST APIエンドポイントのURLを取得
他のWordPressサイトからデータを取得するために、REST APIエンドポイントのURLを特定する必要があります。通常、https://example.com/wp-json/wp/v2/postsのような形式です。ここで、example.comは対象のWordPressサイトのURLです。
データを取得するためのコードを書く
WordPressテーマのファイルやプラグインで、PHPやJavaScriptを使用してREST APIからデータを取得するコードを書きます。下記は、PHPを使用した例です。
$api_url = 'https://example.com/wp-json/wp/v2/posts'; // 対象のWordPressサイトのREST APIエンドポイント
$response = wp_remote_get($api_url); // REST APIからデータを取得
if (is_wp_error($response)) {
// エラーハンドリング
} else {
$data = json_decode(wp_remote_retrieve_body($response)); // JSONデータをデコード
// 投稿を表示
foreach ($data as $post) {
echo '<h2>' . esc_html($post->title->rendered) . '</h2>';
echo '<div>' . wpautop(esc_html($post->content->rendered)) . '</div>';
}
}
テンプレートに表示を追加
最後に、取得したデータを表示したい場所にコードを追加します。通常はテンプレートファイル内に追加されます。
これで、他のWordPressサイトから投稿データを取得して表示することができます。ただし、REST APIを有効にする必要があるため、対象のWordPressサイトの設定にアクセスできる必要があります。