it-swarm.com.de

Wie füge ich ein Bild ohne Plug-in zu Wordpress RSS-Feed hinzu?

Ich habe nach dem Hinzufügen von Bildern zum RSS-Feed ohne Plug-in für WordPress gesucht. Ich habe einige Beispiele gefunden und angewendet, wie es angewiesen wurde. Aber alles was ich jetzt habe ist nichts. Kann das Bild immer noch nicht erreichen.

Die letzte und beste (meiner Meinung nach) Lösung (wie gesagt hier ), die ich gefunden habe, ist das Hinzufügen des folgenden Codes zum functions.php des aktuellen Themas.

function featured_image_in_feed( $content ) {
    global $post;
    if( is_feed() ) {
        if ( has_post_thumbnail( $post->ID ) ){
            $output = get_the_post_thumbnail( $post->ID, 'medium', array( 'style' => 'float:right; margin:0 0 10px 10px;' ) );
            $content = $output . $content;
        }
    }
    return $content;
}
add_filter( 'the_content', 'featured_image_in_feed' );

Ich habe keine Veränderung gesehen. Gibt es noch etwas zu tun?

Was ich tun möchte, ist das Hinzufügen eines Bilds als weiteren Schlüssel in der XML. Es wäre einfacher, es für meinen Slider zu zeigen.

5
zkanoca

Hier ist ein tolles Beispiel . So zeigen Sie Miniaturansichten von Beiträgen in WordPress-Feeds an

fügen Sie diesen Code-Schnipsel in die Datei functions.php Ihres Themas ein

// display featured post thumbnails in WordPress feeds
function wcs_post_thumbnails_in_feeds( $content ) {
    global $post;
    if( has_post_thumbnail( $post->ID ) ) {
        $content = '<p>' . get_the_post_thumbnail( $post->ID ) . '</p>' . $content;
    }
    return $content;
}
add_filter( 'the_excerpt_rss', 'wcs_post_thumbnails_in_feeds' );
add_filter( 'the_content_feed', 'wcs_post_thumbnails_in_feeds' );
8
Robert hue

Basierend auf den Notizen hier und vielen anderen Ressourcen, die ich gelesen habe, habe ich diese Lösung speziell für die Arbeit mit Mailchimp RSS to Email Converter mit dem Feed von Wordpress entwickelt. Ihre Vorlagen verwenden die Erweiterung <media:content> für das Element item, um ihr Bildmakro aufzufüllen. Dieser Code geht in die functions.php des Themas.

// Add namespace for media:image element used below
add_filter( 'rss2_ns', function(){
  echo 'xmlns:media="http://search.yahoo.com/mrss/"';
});

// insert the image object into the RSS item (see MB-191)
add_action('rss2_item', function(){
  global $post;
  if (has_post_thumbnail($post->ID)){
    $thumbnail_ID = get_post_thumbnail_id($post->ID);
    $thumbnail = wp_get_attachment_image_src($thumbnail_ID, 'medium');
    if (is_array($thumbnail)) {
      echo '<media:content medium="image" url="' . $thumbnail[0]
        . '" width="' . $thumbnail[1] . '" height="' . $thumbnail[2] . '" />';
    }
  }
});

Die Auswahl der Bildgröße "Mittel" kann auch "Miniaturansicht" sein, wenn Sie eine kleinere wünschen.

2
vick

Ich habe die ausgewählte Antwort ausprobiert und ein wirklich großes Bild in meinem Feed erhalten. Ich würde empfehlen, dem Code eine Bildgröße hinzuzufügen.

// display featured post thumbnails in RSS feeds
function WPGood_rss_thumbs( $content ) {
    global $post;
    if( has_post_thumbnail( $post->ID ) ) {
        $content = '<figure>' . get_the_post_thumbnail( $post->ID, 'thumbnail' ) . '</figure>' . $content;
    }
    return $content;
}
add_filter( 'the_excerpt_rss', 'WPGood_rss_thumbs' );
add_filter( 'the_content_feed', 'WPGood_rss_thumbs' );

Ich habe 'thumbnail' für meinen Feed verwendet, aber 'medium' funktioniert auf einigen Websites möglicherweise besser.

2
heytricia

Ich habe diese Antworten oben ausprobiert und konnte sie nicht zum Laufen bringen. Es fügte mein Bild im Beschreibungsbereich hinzu.

Ich habe das auf einer anderen Seite gefunden und ein bisschen modifiziert und voila es hat angefangen zu funktionieren.

add_action('rss2_item', function(){
global $post;
 if(has_post_thumbnail($post->ID)){
  $output = '';
  $thumbnail_ID = get_post_thumbnail_id( $post->ID );
  $thumbnail = wp_get_attachment_image_src($thumbnail_ID, 'thumbnail');
  $output .= '<post-thumbnail>';
  $output .= '<url>'. $thumbnail[0] .'</url>';
  $output .= '<width>'. $thumbnail[1] .'</width>';
  $output .= '<height>'. $thumbnail[2] .'</height>';
  $output .= '</post-thumbnail>';

  echo $output;
 }
});
0
Osmar Lopez