2016-10-19 9 views
0

私が設計したWordpressのテーマにRSSフィードを取り込む簡単な方法を設定しようとしています。私はそれが本当にうまく動作している 'fetch_feed' - すべてのrssの項目が来ると私はそれらを並べ替えることができますし、それらを表示する方法が必要です。インポートされたRSSフィードをWordpressにタイムシフトする

問題はタイムシフトです。私が引っ張っているフィードはオーストラリアのサーバーにあり、実際のフィードの日付は正しいです。しかし、クライアントサーバーはどこにあるのかわかりませんが、ホスティング会社の指示に従ってphp.iniファイルにタイムゾーンを設定していますが、RSSフィードの項目はすべて13時間シフトしています。

RSSフィードをつかむために私のコードです:

<?php // Get RSS Feed(s) 
include_once(ABSPATH . WPINC . '/feed.php'); 

// Get a SimplePie feed object from the specified feed source. 
$rss = fetch_feed('http://xxxxxxxx.com.au/events/feed/'); 

if (! is_wp_error($rss)) : // Checks that the object is created correctly 

// Figure out how many total items there are, but limit it to 25. 
$maxitems = $rss->get_item_quantity(25); 

// Build an array of all the items, starting with element 0 (first element). 
$rss_items = $rss->get_items(0, $maxitems); 


endif; 
?> 

そして、これは私がフィードを表示するには、私のテーマで使用していたコードです:すべてのヘルプは大歓迎です

<?php if ($maxitems == 0) : ?> 
    <h3><?php _e('No items', 'my-text-domain'); ?></h3> 
<?php else : ?> 
    <?php // Loop through each feed item and display each item as a hyperlink. ?> 
    <?php foreach ($rss_items as $item) : ?> 
    <p><b> 
    <a href="<?php echo esc_url($item->get_permalink()); ?>" target="_blank" 
       title="<?php printf(__('Posted %s', 'my-text-domain'), $item->get_date()); ?>"> 
       <?php echo esc_html($item->get_title()); ?> 
     </a></b> 
     <?php echo esc_html($item->get_date('| j F | g:i a')); ?><br> 
     <?php echo sanitize_text_field($item->get_content()); ?> 
     </p> 
    <?php endforeach; ?> 
<?php endif; ?> 

。 ..

+0

$ item-> get_date()は、書式設定パラメータなしで(つまり、どのようなデフォルト値の)戻り値を返しますか?あなたはこの値をつかんで、strtotime()やそれに類似するものをつくることができるかもしれません。 –

+0

良い質問 - 私はその行を削除してページを更新し、何も変わりませんでした。それはおそらく明らかですが、私はPHPに堪能ではありませんので、私は私の無知のために事前に謝罪します。私はsrttotimeオプションのあなたの提案をお試しいただきます、ありがとう! – Excell

答えて

0

ありがとうKevin_Kinsey、私はstrtotimeを試みたが、それはトリックをしなかった - それは答えに私を導いた!すべてのことを、PHPの簡単な行を追加する

<?php 
date_default_timezone_set("Australia/Sydney"); 
?> 

修正済み!今すぐすべての日付が適切な時間に来る。ケビンを助けるあなたの応答と意欲のために再びありがとう!

+0

ようこそ。あなたのソリューションの種類は正しいと感じています。特にあなたがオーストラリアにいて、あなたの読者がオーストラリアのタイムスタンプを見ることが予想される場合は特にそうです。私は「聖杯」がドロップダウンリストから自分のTZを選んでクッキーを設定してから、プラグインでTZを設定するように読んでもいいと思うかもしれませんが、後でそれを残すことができます。 :-) –

関連する問題