I've got a very basic solution using fetch_feed() and SimplePie to pull in RSS items which is working on my localhost, but for some reason is_wp_error() persists as true on the live server. Is there anyway for me to get specific output about the nature of the error so as to work towards a solution on the live server?

  include_once(ABSPATH . WPINC . '/feed.php');
  $rss = fetch_feed( '[rss feed removed from example]' );
  if (!is_wp_error( $rss ) ) :
    $maxitems = $rss->get_item_quantity(5);
    $rss_items = $rss->get_items(0, $maxitems);
    $isc = 'http://dtd.interspire.com/rss/isc-1.0.dtd';
<ul class="featured-products">
  <?php if ( $maxitems == 0) : ?>
    <li>No items.</li>
  <?php else : ?>
    <?php foreach ( $rss_items as $item ) : 
      $image = $item->get_item_tags( $isc, 'thumb'); ?>
    <?php endforeach; ?>
  <?php endif; ?>

2 Answers 2


add this to your feed

    $rss = fetch_feed( $url );
    if ( is_wp_error( $rss ) ) {
       echo $rss->get_error_message();  <---this
    } else {
   // do your stuff here

I would also suggest installing the debug toolbar extensions, like "debug-bar-extender".

  • 1
    The domain name I was trying to access is an alias of another domain name. Pulling the feed from the ultimate domain name successfully returned the results. Your answer assisted me in coming to this realization. Also, following your suggestion(s) I stumbled across Core Control, which allowed me to monitor HTTP requests from my server and their statuses.
    – Sampson
    Mar 29, 2011 at 19:44

This could be due to deprecation of rss-functions.php. Check for this error by setting the wp-errors in the config file on your livesite to true. Then you might get to see the problem. Don't forget to reset them to false quickly after checking.

Use wp-includes/rss.php instead

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.