it-swarm.com.de

So aktivieren Sie Miniaturansichten im RSS-Dashboard-Widget

Ich verwende fetch_feed () erfolgreich, um einen RSS-Feed in einem Dashboard-Widget anzuzeigen. Ich kann das Miniaturbild jedoch nicht aus den Elementen im Feed laden. Ich versuche, es mit der Methode get_image_url () zu tun, aber WordPress-Fehler auf dieser Methode als undefinierte Methode.

Code ist unten ...

function example_dashboard_widget_function() {
    // Display whatever it is you want to show   
    $rss = fetch_feed( "http://localhost/testsite/wp-content/test.rss" );

     if ( is_wp_error($rss) ) {
          if ( is_admin() || current_user_can('manage_options') ) {
               echo '<p>';
               printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
               echo '</p>';
          }
     return;
}

if ( !$rss->get_item_quantity() ) {
     echo '<p>No RSS items to show!</p>';
     $rss->__destruct();
     unset($rss);
     return;
}

echo "<ul>\n";

if ( !isset($items) )
     $items = 10;

     foreach ( $rss->get_items(0, $items) as $item ) {
          $publisher = '';
          $site_link = '';
          $link = '';
          $content = '';
          $date = '';
          $image = '';

          $image = $item->get_image_url();
//        $image = esc_url( strip_tags( $item->get_thumbnail() ) );

          $link = esc_url( strip_tags( $item->get_link() ) );

          $content = $item->get_content();
          $content = wp_html_excerpt($content, 250) . ' ...';

         echo "<li><img src='$image' /><a href='$link'>$link</a> - $content</li>\n";
}

echo "</ul>\n";
$rss->__destruct();
unset($rss);

} 
1
Scott B

Es ist eine Methode für ganz andere Dinge.

RSS 2.0, Atom 1.0 und Feeds mit iTunes-RSS-Tags dürfen ein „Feed-Logo“ aufweisen, das ein einzelnes Bild für den Feed darstellt. Diese Methode gibt die notierte URL für diese Bild-/Logodatei zurück. get_image_url()

Und es beschwert sich über undefined, weil es eine Methode für Feed-Objekte ist und Sie durch Feed-Item-Objekte iterieren.

Insgesamt hängt es davon ab, wie Ihr Feed mit Bildern funktioniert. Wenn sie einfach in den Inhalt aufgenommen werden, können Sie sie von dort aus abbauen (mit Regex oder etwas Einfacherem, wenn nicht viel Text). Wenn Bilder in Media Enclosure enthalten sind, versuchen Sie es mit der Methode get_enclosures().

1
Rarst