WordPress RSS feed template for my microcast
<?php | |
/** | |
* RSS2 Feed Template for displaying RSS2 Posts feed. | |
* Modified for microcast | |
* Based on template found https://css-tricks.com/roll-simple-wordpress-podcast-plugin | |
* | |
*/ | |
$numposts = 50; // number of posts in feed | |
$posts = query_posts('showposts='.$numposts.'&cat=652'); | |
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').'"?'.'>'; | |
/** | |
* Fires between the xml and rss tags in a feed. | |
* | |
* @since 4.0.0 | |
* | |
* @param string $context Type of feed. Possible values include 'rss2', 'rss2-comments', | |
* 'rdf', 'atom', and 'atom-comments'. | |
*/ | |
do_action( 'rss_tag_pre', 'rss2' ); | |
?> | |
<rss version="2.0" | |
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" | |
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 | |
/** | |
* Fires at the end of the RSS root to add namespaces. | |
* | |
* @since 2.0.0 | |
*/ | |
do_action( 'rss2_ns' ); | |
?> | |
> | |
<channel> | |
<title>John's Microcast</title> | |
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" /> | |
<link>http://johnjohnston.info/blog/category/microcast/</link> | |
<language><?php echo get_bloginfo ( 'language' ); ?></language> | |
<copyright><?php echo date('Y'); ?> <?php echo get_bloginfo('name'); ?></copyright> | |
<itunes:author><?php echo get_bloginfo('name'); ?></itunes:author> | |
<itunes:summary>A microcast by John Johnston</itunes:summary> | |
<description>A microcast by John Johnston</description> | |
<itunes:owner> | |
<itunes:name><?php echo get_bloginfo('name'); ?></itunes:name> | |
<itunes:email><?php echo get_bloginfo('admin_email'); ?></itunes:email> | |
</itunes:owner> | |
<itunes:image href="http://johnjohnston.info/blog/wp-content/uploads/2018/08/ravenlogo-1400.png" /> | |
<itunes:category text="Education"> | |
</itunes:category> | |
<itunes:explicit>no</itunes:explicit> | |
<lastBuildDate><?php | |
$date = get_lastpostmodified( 'GMT' ); | |
echo $date ? mysql2date( 'r', $date, false ) : date( 'r' ); | |
?></lastBuildDate> | |
<sy:updatePeriod><?php | |
$duration = 'hourly'; | |
/** | |
* Filters how often to update the RSS feed. | |
* | |
* @since 2.1.0 | |
* | |
* @param string $duration The update period. Accepts 'hourly', 'daily', 'weekly', 'monthly', | |
* 'yearly'. Default 'hourly'. | |
*/ | |
echo apply_filters( 'rss_update_period', $duration ); | |
?></sy:updatePeriod> | |
<sy:updateFrequency><?php | |
$frequency = '1'; | |
/** | |
* Filters the RSS update frequency. | |
* | |
* @since 2.1.0 | |
* | |
* @param string $frequency An integer passed as a string representing the frequency | |
* of RSS updates within the update period. Default '1'. | |
*/ | |
echo apply_filters( 'rss_update_frequency', $frequency ); | |
?></sy:updateFrequency> | |
<?php | |
/** | |
* Fires at the end of the RSS2 Feed Header. | |
* | |
* @since 2.0.0 | |
*/ | |
//do_action( 'rss2_head'); | |
while( have_posts()) : the_post(); | |
?> | |
<item> | |
<title><?php the_title_rss(); ?></title> | |
<itunes:author><?php echo get_bloginfo('name'); ?></itunes:author> | |
<itunes:summary><![CDATA[<?php echo $content; ?>]]></itunes:summary> | |
<?php // Retrieve just the URL of the Featured Image: http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src | |
if (has_post_thumbnail( $post->ID ) ): ?> | |
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); ?> | |
<itunes:image href="<?php echo $image[0]; ?>" /> | |
<?php endif; ?> | |
<?php echo rss_enclosure()?> | |
<guid><?php the_guid(); ?></guid> | |
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> | |
</item> | |
<?php endwhile; ?> | |
</channel> | |
</rss> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment