サポート » マルチサイト » マルチサイトの記事を外部ファイルに表示

  • 解決済 gabgab

    (@gabgab)


    Word Press3.9.1 でマルチサイト機能を使っています。

    その中のブログAつから、campaignという投稿タイプの記事を取り出して、WPの外側にあるtest.phpに表示したいと思っています。

    <?php require ('wp-load.php'); ?>

    上記をtest.phpに書き込む方法で投稿を表示しようと思ったのですが、「データベース接続確立エラー」が表示されてしまうのです。
    この時、ブログAにアクセスしても正常に表示されます。

    また、WP3.8マルチサイトで同じことを試してみましたが、こちらの場合は投稿を表示することができました。

    3.9になって仕様が変更されたというような情報もあったのですが、情報元は英文だったのでよくわかりませんでした。
    分かる方がおりましたら力をお貸しください。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター Daisuke Takahashi

    (@extendwings)

    wp-load.phpを読み込む方法については検証をしていないので不明ですが、その投稿タイプのみを取り出すRSSやAPIをプラグインなりテーマなりで追加すれば早いのではないでしょうか。

    あと、「情報元」が英語だったと書かれていますが、そのURLなどがわからないので何ともコメントできません

    英語のサイトというのは、たぶん Stack Exchange の

    WordPress 3.9 Multisite db connection error

    あたりではないかと思いますが、ms-settings.php を見る限りでは、REQUEST_URI だけではだめで、HTTP_HOST も必要だと思います。

    $_SERVER = array(
        'HTTP_HOST'   => 'your_host_name',
        'REQUEST_URI' => '/'
        );
    require('wp-load.php');

    REQUEST_URI は環境に合わせてください。

    4.1のマルチサイト(サブディレクトリ)にて、
    gabgabさんと同様に、WP外部のPHPに記事を表示させたいと思っています。

    以下のように記述したところ、
    エラーは表示されないのですが、
    投稿記事が表示されず、空白になってしまいます。

    <?php
      $_SERVER = array(
        "HTTP_HOST" => "my_host_name",
        "REQUEST_URI" => "/",
      );
      require_once('wp-load.php');
      if(have_posts()): while(have_posts()): the_post();
    ?>
      <p><?php the_title(); ?></p>
      <?php the_content(); ?>
    <?php endwhile; endif; ?>

    素人のため、解決の糸口が見つかりません。
    お力をお貸しいただければ大変ありがたいです。
    よろしくお願いいたします。

    自己レスです。
    こちらのサイトを参考に解決できました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「マルチサイトの記事を外部ファイルに表示」には新たに返信することはできません。