我正在尝试设置一种简单的方法,将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; ?>
非常感谢任何帮助...
答案 0 :(得分:0)
谢谢Kevin_Kinsey,我尝试了strtotime,但即使这没有做到这一点 - 这确实引导我找到答案!在所有方面,添加一个简单的PHP行
<?php
date_default_timezone_set("Australia/Sydney");
?>
修正了它!现在所有日期都在适当的时间到来。再次感谢您的回应和愿意帮助凯文!