web-dev-qa-db-ja.com

fetch_feedはlocalhostでは機能しますがサーバーでは機能しません

似たような質問が1つ ありますが、何が起こっているのかわからないようです。だから任意の助けに感謝...

次のコードはlocalhostでは問題なく動作しますが、ライブサイトで次のように表示されます。WP HTTPエラー:connect()がタイムアウトしました。

            <?php if (function_exists('fetch_feed')) { ?>
        <?php include_once(ABSPATH . WPINC . '/feed.php');
        $feed = fetch_feed('http://participmontpellier.wordpress.com/feed/');
        if ( ! is_wp_error( $feed ) ) : 
            $limit = $feed->get_item_quantity(2);
            $items = $feed->get_items(0,$limit);
        endif;
        if (!$items){
            echo $feed->get_error_message(); 

        } else {
            foreach ($items as $item) { ?>
                <h4><?php echo $item->get_date('F j, Y'); ?></h4>
                <p><?php echo $item->get_title(); ?></p>

            <?php }
        } ?>
     <?php } ?>

ありがとうございます。

1
user2135738

最初に、オンラインインストールのキーワードmax_execution_timeでタイムアウトウィンドウを確認または設定します。

フィードへのヒントとして、問題もありますが、接続にも問題があります: http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fparticipmontpellier。 wordpress.com%2フィード%2F

また、テーマの中にプラグインや関数があり、それによって接続が切断される可能性もあります。

最後のポイントは、この2つの定数を確認する必要があるということです。接続にはtrueの値を指定する必要があります。

  • WP_HTTP_BLOCK_EXTERNAL
  • WP_ACCESSIBLE_HOSTS

WordPressとOffline Topicに関するさらに詳しい背景は、プラグインの this source にあります。しかし、あなたは反対をチェックしなければなりません;)

1
bueltge