ITTI STAFF
BLOG

イッティWEBスタッフの制作ブログ

別のWordPressの情報をwp-loadを利用して表示させる方法

こんにちは。ウェブデザインチームのharuです。新宿中央公園にスタバやカフェができたので息抜きによく行ってます。

複数のWordPresを運営していると、それぞれの情報の一部を表示させたい事があると思います。wp-loadを利用することで別のWordPressに情報を表示させる事ができます。

この方法は、例えば下記のようなケースに利用されます。

同一サーバーのWordPressでなくても、別サーバーの別ドメインのWordPressの情報を読み込んで表示させる事ができます。とても便利ですね。

ファイルの構成

今回は読み込ませたい箇所をモジュールとなるファイルを用意して、そのファイルを読み込むようにします。

モジュールファイルの用意

モジュールとなるファイルは今回「inc-file.php」としました。
いつもどりWordPressの関数を記載します。

このまま読み込ませても何も表示されないので、関数を実行できるように「wp-load.php」も読み込みます。

サンプルでは記事一覧を表示させるモジュールファイルです。

inc-file.php
<?php require_once ('../../../wp-load.php'); ?>
<?php if(have_posts()): while (have_posts()):the_post(); ?>
<div>
  <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
  <p><?php the_excerpt(); ?></p>
  <div>
      カテゴリー:<?php the_category(' , '); ?>
  </div>
</div>
<?php endwhile; endif; ?>

wp-load.phpを読み込む方法は下記のように色々ありますので、適宜ご利用ください。
requireではなくincludeを使うこともできます。読み込み失敗のエラーを表示させたい場合はincludeを利用できます。

 

<?php require_once($_SERVER['DOCUMENT_ROOT']. '/wp/wp-load.php' ); ?>
下記でもOK
<?php require_once((dirname( __FILE__ ) . '/wp/wp-load.php' ); ?>

別のWordPressに表示させる

モジュールファイルの情報を表示させたい箇所に下記を記載します。

PHP
<?php
  $inc_file = wp_remote_get('https://●●.jp/wp/wp-content/themes/テーマ/inc-file.php');
  echo wp_remote_retrieve_body($inc_file);
?>

別ブログの記事一覧が読み込まれて表示されます。簡単で便利ですね。

今回は記事一覧を表示させましたが、固定ページの内容や、カスタムフィールドなども表示させることができます。

新しい記事

新宿のWEB制作会社イッティ

新宿のWEB制作会社イッティ