Cum să activezi miniaturile în widget-ul RSS din panoul de administrare

12 oct. 2010, 01:53:07
Vizualizări: 996
Voturi: 1

Folosesc cu succes fetch_feed() pentru a afișa un flux RSS într-un widget din panoul de administrare. Totuși, nu reușesc să încarc imaginea miniatură din elementele fluxului. Încerc să fac asta cu metoda get_image_url(), dar WordPress returnează o eroare că metoda este nedefinită.

Codul este mai jos...

function example_dashboard_widget_function() {
    // Afișează orice dorești să arăți
    $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>Eroare RSS</strong>: %s'), $rss->get_error_message());
               echo '</p>';
          }
     return;
}

if ( !$rss->get_item_quantity() ) {
     echo '<p>Nu există elemente RSS de afișat!</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);

} 
0
Toate răspunsurile la întrebare 1
0

Este o metodă pentru un lucru complet diferit.

RSS 2.0, Atom 1.0 și feed-urile cu tag-uri iTunes RSS pot avea un "logo pentru feed", care este o singură imagine care reprezintă feed-ul. Această metodă returnează URL-ul notat pentru acel fișier imagine/logo. get_image_url()

Și se plânge de nedefinit pentru că este o metodă a obiectului feed și tu iterezi prin obiectele elementelor feed.

În general, depinde de modul în care funcționează feed-ul tău cu imaginile. Dacă acestea sunt pur și simplu incluse în conținut - extrage-le de acolo (cu regex sau ceva mai simplu dacă nu este prea mult text). Dacă imaginile sunt incluse în media enclosure, încearcă metoda get_enclosures().

12 oct. 2010 08:36:44