Η δημιουργία ενός προσαρμοσμένου RSS Feed Template στο WordPress είναι ο καλύτερος τρόπος για να ελέγχετε ακριβώς τι περιεχόμενο στέλνετε στους αναγνώστες σας (ή σε υπηρεσίες όπως το Mailchimp και το Feedly).
Ακολουθεί ένας οδηγός βήμα-προς-βήμα για να φτιάξετε το δικό σας template.
Βήμα 1: Δημιουργία του αρχείου Template
Αρχικά, πρέπει να δημιουργήσετε ένα αρχείο PHP μέσα στον φάκελο του theme σας (π.χ. /wp-content/themes/your-theme/feed-custom.php).
Αντιγράψτε τον παρακάτω κώδικα:
PHP
<?php
/**
* Custom RSS Template - Feed Name: Custom
*/
header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
$more = 1;
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
<?php do_action('rss2_ns'); ?>>
<channel>
<title><?php wp_title_rss(); ?> - Custom Feed</title>
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
<link><?php bloginfo_rss('url') ?></link>
<description><?php bloginfo_rss("description") ?></description>
<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
<language><?php bloginfo_rss('language'); ?></language>
<?php do_action('rss2_head'); ?>
<?php while(have_posts()) : the_post(); ?>
<item>
<title><?php the_title_rss(); ?></title>
<link><?php the_permalink_rss(); ?></link>
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
<dc:creator><![CDATA[<?php the_author(); ?>]]></dc:creator>
<guid isPermaLink="false"><?php the_guid(); ?></guid>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
<content:encoded><![CDATA[
<?php if (has_post_thumbnail()): ?>
<div style="float:left; margin-right:10px;">
<?php the_post_thumbnail('medium'); ?>
</div>
<?php endif; ?>
<?php the_content_feed(); ?>
]]></content:encoded>
<?php do_action('rss2_item'); ?>
</item>
<?php endwhile; ?>
</channel>
</rss>
Βήμα 2: Σύνδεση του Template με το WordPress
Για να αναγνωρίσει το WordPress το νέο σας feed, πρέπει να προσθέσετε έναν “hook” στο αρχείο functions.php του θέματός σας.
PHP
function custom_rss_template() {
add_feed('mycustomfeed', 'render_custom_rss');
}
add_action('init', 'custom_rss_template');
function render_custom_rss() {
get_template_part('feed', 'custom');
}
Σημαντικό: Μετά την προσθήκη αυτού του κώδικα, πρέπει να πάτε στις Ρυθμίσεις > Μόνιμοι Σύνδεσμοι (Permalinks) και απλώς να πατήσετε “Αποθήκευση αλλαγών” για να καθαρίσει το cache των URLs.
Βήμα 3: Πώς να το καλέσετε
Το νέο σας feed θα είναι διαθέσιμο στη διεύθυνση:
yourdomain.com/feed/mycustomfeed/
Γιατί να χρησιμοποιήσετε Custom Template;
| Χαρακτηριστικό | Προεπιλεγμένο Feed | Custom Feed |
| Featured Images | Συνήθως λείπουν | Μπορείτε να τις προσθέσετε |
| Custom Fields | Όχι | Ναι (π.χ. τιμές προϊόντων) |
| Branding | Βασικό | Πλήρως παραμετροποιήσιμο |
| Formatting | Περιορισμένο | Ελεύθερο HTML στο content:encoded |
Μερικές συμβουλές (Pro Tips):
- Images: Πολλά email marketing tools (όπως το Mailchimp) δυσκολεύονται να βρουν την εικόνα ανάρτησης. Με το custom template, την τοποθετείτε απευθείας μέσα στο tag
<content:encoded>. - Validation: Πριν το δώσετε live, ελέγξτε το feed σας στο W3C Feed Validator για τυχόν συντακτικά λάθη XML.
- Caching: Αν χρησιμοποιείτε plugins όπως το WP Rocket, θυμηθείτε να εξαιρέσετε το custom feed URL από το caching.

