別のWordPressサイトの投稿を取得して表示させる方法

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サイトの設定にアクセスできる必要があります。