无法让我的WordPress网站更新自己的Feed?

时间:2011-05-04 21:25:06

标签: wordpress rss feed

我正在使用以下代码将侧边栏中的WordPress博客的一些条目显示为Feed。问题是,无论我做什么,它都不会更新。它仍然只显示第一个“Hello World”帖子,即使我已经添加了其他帖子,并且在我更改后它甚至没有显示该帖子的更新名称。认为这可能是一个缓存问题,但如果我实际点击进给XML,数据会更新 - 这对我没有意义?

    <?php
    // Blog Feed:
    $rss_url = get_option('home')."/feed/";
    ?>

    <ul class="side-feed">

    <?php if(function_exists('fetch_feed')) {

        include_once(ABSPATH . WPINC . '/feed.php');               // include the required file

        $feed = fetch_feed($rss_url); // specify the source feed

        $limit = $feed->get_item_quantity(3); // specify number of items
        $items = $feed->get_items(0, $limit); // create an array of items
echo count($items);
    }
    if ($limit == 0) echo '<div>(None)</div>';
    else foreach ($items as $item) : ?>

        <li><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></li>

    <?php endforeach; ?>

    </ul>

1 个答案:

答案 0 :(得分:3)

Wordpress默认会将Feed缓存12小时,要更改此项,您需要挂钩wp_feed_cache_transient_lifetime过滤器并返回要缓存的秒数。

add_filter('wp_feed_cache_transient_lifetime', create_function('', 'return 60*60;'));