获取提要时出现Get_Item_Quantity()错误

时间:2013-06-06 作者:AlecRust

我在同一页面的两个位置使用此脚本来输出一些RSS提要:

<?php
    include_once(ABSPATH . WPINC . \'/feed.php\');
    $rss = fetch_feed(\'https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=BarackObama\');
    $maxitems = $rss->get_item_quantity(3);
    $rss_items = $rss->get_items(0, $maxitems);
?>
<?php if ($maxitems == 0) echo \'<p class="alert">No activity to display.</p>\'; ?>
<ul>
<?php
    if (!$maxitems == 0)
    foreach ( $rss_items as $item ) : ?>
        <li>
            <a href="<?php echo $item->get_permalink(); ?>">
                <?php echo $item->get_title(); ?>
                <time datetime="<?php echo $item->get_local_date(\'%Y-%m-%d %H:%M\'); ?>" class="timestamp">
                    <?php echo $item->get_local_date(\'%A %d %b %H:%M\'); ?>
                </time>
            </a>
        </li>
    <?php endforeach; ?>
</ul>
我正在手动设置functions.php 至两小时:

function filter_handler( $seconds ) {
    return 7200;
}
add_filter( \'wp_feed_cache_transient_lifetime\', \'filter_handler\' );
每天有几次,提要会中断并显示此错误:

Fatal error: Call to undefined method WP_Error::get_item_quantity() in /public_html/wp-content/themes/twentyeleven/home-page.php on line 100

WordPress获取这个推特提要似乎偶尔会失败,然后错误会输出2个小时,直到刷新缓存。

我怎么才能避开这个?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

这是因为推特stopped the API v1. 四处走动WP_Error 在代码中:

// functions.php
function fetch_twitter()
{
    $rss = fetch_feed(\'https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=BarackObama\');

    if ( is_wp_error( $rss ) )
        return;

    // continue in your function
    $maxitems = $rss->get_item_quantity(3);
}

// template
fetch_twitter();
对你没什么帮助。切换到新API。

结束

相关推荐

我想在每个帖子的RSS标题中添加一个自定义字段,但不希望它显示在网站上

我看到其他网站也这样做了,但我自己没有做到。我为每个帖子都有特定的自定义字段,我希望在RSS提要中每个项目的标题中,在项目的实际标题之后显示其中一个自定义字段。例如,如果帖子名为“Abracadabra and hocus pocus”,由James A.Author撰写,我希望提要项标题为“Abracadabra and hocus pocus by James A.Author”。如何做到这一点?