Created
August 6, 2018 09:19
-
-
Save troutcolor/d5e89e052e3658a74f59d3e82fc2ac09 to your computer and use it in GitHub Desktop.
WordPress RSS feed template for my microcast
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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