Αν διαχειρίζεσαι ένα WordPress site και θέλεις τα άρθρα σου να φαίνονται σωστά σε RSS readers (όπως το Feedly) ή να γίνονται σωστά “import” από άλλα εργαλεία, θα έχεις παρατηρήσει ότι το WordPress δεν περιλαμβάνει αυτόματα τη Featured Image στο RSS feed.
Ακολουθεί ένας οδηγός για το πώς να το πετύχεις χρησιμοποιώντας λίγο κώδικα PHP.
Γιατί είναι απαραίτητο το RSS Enclosure;
Το RSS feed του WordPress περιλαμβάνει κυρίως κείμενο. Για να “δει” μια εξωτερική εφαρμογή την εικόνα σου, αυτή πρέπει να δηλωθεί ως enclosure (συνημμένο) μέσα στο XML αρχείο του feed.
Χωρίς αυτό, τα feeds σου φαίνονται “φτωχά” και οι πιθανότητες να κάνει κάποιος κλικ στο άρθρο σου μειώνονται σημαντικά.
Η Λύση: Προσθήκη κώδικα στο functions.php
Δεν χρειάζεται να εγκαταστήσεις βαριά plugins. Μπορείς να προσθέσεις την παρακάτω συνάρτηση στο αρχείο functions.php του θέματός σου (κατά προτίμηση σε ένα child theme).
PHP
/**
* Προσθήκη Featured Image ως RSS Enclosure
*/
function dn_add_rss_image_enclosure() {
global $post;
// Έλεγχος αν το post έχει featured image
if ( has_post_thumbnail( $post->ID ) ) {
$thumbnail_id = get_post_thumbnail_id( $post->ID );
$thumbnail_url = wp_get_attachment_url( $thumbnail_id );
$thumbnail_size = filesize( get_attached_file( $thumbnail_id ) );
$thumbnail_mime = get_post_mime_type( $thumbnail_id );
// Εκτύπωση του enclosure tag στο RSS feed
echo '<enclosure url="' . esc_url( $thumbnail_url ) . '" length="' . esc_attr( $thumbnail_size ) . '" type="' . esc_attr( $thumbnail_mime ) . '" />';
}
}
// Σύνδεση της συνάρτησης με το RSS2 head
add_action( 'rss2_item', 'dn_add_rss_image_enclosure' );
Πώς λειτουργεί ο κώδικας:
has_post_thumbnail: Ελέγχει αν το άρθρο έχει ορισμένη χαρακτηριστική εικόνα.wp_get_attachment_url: Φέρνει το πλήρες URL της εικόνας.filesize&get_attached_file: Υπολογίζει το μέγεθος του αρχείου σε bytes (απαραίτητο για το taglength).get_post_mime_type: Εντοπίζει αν η εικόνα είναι JPG, PNG ή WebP.add_action('rss2_item', ...): Τοποθετεί αυτό το tag μέσα σε κάθε<item>του RSS feed σας.
Εναλλακτική: Εικόνα μέσα στο Περιεχόμενο (Media Content)
Ορισμένοι RSS readers προτιμούν την εικόνα μέσα στο ίδιο το περιεχόμενο του κειμένου. Αν θέλεις η εικόνα να εμφανίζεται πάνω από το κείμενο στο feed, χρησιμοποίησε αυτόν τον κώδικα:
PHP
function dn_rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID, 'medium') . '</p>' . $content;
}
return $content;
}
add_filter('the_excerpt_rss', 'dn_rss_post_thumbnail');
add_filter('the_content_feed', 'dn_rss_post_thumbnail');
Πώς να ελέγξεις αν δουλεύει
Αφού αποθηκεύσεις τις αλλαγές:
- Επισκέψου τη διεύθυνση
yourwebsite.com/feed/. - Πάτα
Ctrl + U(View Source) για να δεις τον κώδικα. - Ψάξε για τη λέξη
<enclosure. Αν τη δεις μέσα στα tags του άρθρου, συγχαρητήρια! Το feed σου είναι πλέον πλήρως βελτιστοποιημένο.
Tip: Αν χρησιμοποιείς caching plugin (όπως WP Rocket ή LiteSpeed), φρόντισε να καθαρίσεις το cache για να ανανεωθεί το RSS feed.

