使用导入的RSS提要进行时间转换到Wordpress

时间:2016-10-19 20:53:21

标签: php wordpress time rss

我正在尝试设置一种简单的方法,将rss提取摄取到我设计的Wordpress主题中。我使用&f; fetch_feed' - 所有rss项目都通过,我可以对它们进行排序并显示它我需要的方式。

我遇到的问题是时间转移。我从中提取的Feed是在澳大利亚服务器上,实际的Feed日期是正确的。然而,客户端服务器我不知道它在哪里,但是我按照托管公司的指示在php.ini文件中设置了时区,但是所有rss的feed项都被移动了13个小时。 / p>

以下是我抓取RSS Feed的代码:

<?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;
?>

这是我在主题中用来显示Feed的代码:

<?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; ?>

非常感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

谢谢Kevin_Kinsey,我尝试了strtotime,但即使这没有做到这一点 - 这确实引导我找到答案!在所有方面,添加一个简单的PHP行

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

修正了它!现在所有日期都在适当的时间到来。再次感谢您的回应和愿意帮助凯文!