我对RSS Feed有疑问。我在我的网站上使用wordpress ver 3.2.1并使用其他网站rss feed。我的要求是每月提取Feed并在我的网站侧栏显示。
目前我正在使用rss小部件并在侧边栏中显示供稿,但它们的格式如下:
我将非常感谢你的帮助。提前谢谢。
更新: 2012年3月13日
此代码存在于index.php
中<h2><?php _e('Recent news from Some-Other Blog:'); ?></h2>
<?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://example.com/rss/feed/goes/here');
$rss = fetch_feed('http://lakewashington.intand.com/index.php?type=export&action=rss&schools=48&groups=884,876,874,996');
print_r($rss);
if (!is_wp_error( $rss ) ) : // Checks that the object is created correctly
// Figure out how many total items there are, but limit it to 5.
$maxitems = $rss->get_item_quantity(5);
// Build an array of all the items, starting with element 0 (first element).
$rss_items = $rss->get_items(0, $maxitems);
endif;
?>
<ul>
<?php if ($maxitems == 0) echo '<li>No items.</li>';
else
// Loop through each feed item and display each item as a hyperlink.
foreach ( $rss_items as $item ) : ?>
<li>
<a href='<?php echo esc_url( $item->get_permalink() ); ?>'
title='<?php echo 'Posted '.$item->get_date('j F Y | g:i a'); ?>'>
<?php echo esc_html( $item->get_title() ); ?></a>
</li>
<?php endforeach; ?>
</ul>
答案 0 :(得分:1)
您可以手动执行此操作。 只需使用wordpress本机函数fetch_feed。
你甚至有一个例子:
<h2><?php _e('Recent news from Some-Other Blog:'); ?></h2>
<?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://example.com/rss/feed/goes/here');
if (!is_wp_error( $rss ) ) : // Checks that the object is created correctly
// Figure out how many total items there are, but limit it to 5.
$maxitems = $rss->get_item_quantity(5);
// Build an array of all the items, starting with element 0 (first element).
$rss_items = $rss->get_items(0, $maxitems);
endif;
?>
<ul>
<?php if ($maxitems == 0) echo '<li>No items.</li>';
else
// Loop through each feed item and display each item as a hyperlink.
foreach ( $rss_items as $item ) : ?>
<li>
<a href='<?php echo esc_url( $item->get_permalink() ); ?>'
title='<?php echo 'Posted '.$item->get_date('j F Y | g:i a'); ?>'>
<?php echo esc_html( $item->get_title() ); ?></a>
</li>
<?php endforeach; ?>
</ul>
您只需将它放在sidebar.php中,无论您需要在哪里显示Feed。
编辑专栏:
$rss = fetch_feed('http://example.com/rss/feed/goes/here');
...并将网址指向正确的Feed。 和
$maxitems = $rss->get_item_quantity(5);
...指定要显示的项目数(示例中为5个)
然后检查UL内部的 foreach ,您可以设置Feed的显示方式。
默认情况下,fetch_feed函数会将Feed缓存12小时。 如果您需要每30天进行一次,您可以使用wordpress&#39; s Transients API来轻松完成。