Question

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?

<?php
  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';
  endif;
?>
<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'); ?>
      <li>...</li>
    <?php endforeach; ?>
  <?php endif; ?>
</ul>
Was it helpful?

Solution

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".

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top