it-swarm.com.de

Fehlerbehebung bei fetch_feed und SimplePie

Ich habe eine sehr einfache Lösung, bei der fetch_feed() und SimplePie zum Einlesen von RSS-Elementen verwendet werden, die auf meinem lokalen Host funktioniert. Aus irgendeinem Grund bleibt is_wp_error() auf dem Live-Server jedoch als true bestehen. Muss ich trotzdem eine spezifische Ausgabe über die Art des Fehlers erhalten, um auf eine Lösung auf dem Live-Server hinzuarbeiten?

<?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>
3
Sampson

fügen Sie dies Ihrem Feed hinzu

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

Ich würde auch vorschlagen, die Debug-Toolbar-Erweiterungen wie "Debug-Bar-Extender" zu installieren.

3
Wyck

Dies könnte an der Veralterung von rss-functions.php liegen. Überprüfen Sie, ob dieser Fehler vorliegt, indem Sie die wp-Fehler in der Konfigurationsdatei auf Ihrer Website auf true setzen. Dann könnten Sie das Problem sehen. Vergessen Sie nicht, sie nach der Überprüfung schnell auf false zurückzusetzen.

Verwenden Sie stattdessen wp-includes/rss.php

0
landed