home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / feed-rss2.php < prev    next >
Encoding:
PHP Script  |  2016-12-15  |  3.7 KB  |  125 lines

  1. <?php
  2. /**
  3.  * RSS2 Feed Template for displaying RSS2 Posts feed.
  4.  *
  5.  * @package WordPress
  6.  */
  7.  
  8. header('Content-Type: ' . feed_content_type('rss2') . '; charset=' . get_option('blog_charset'), true);
  9. $more = 1;
  10.  
  11. echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
  12.  
  13. /**
  14.  * Fires between the xml and rss tags in a feed.
  15.  *
  16.  * @since 4.0.0
  17.  *
  18.  * @param string $context Type of feed. Possible values include 'rss2', 'rss2-comments',
  19.  *                        'rdf', 'atom', and 'atom-comments'.
  20.  */
  21. do_action( 'rss_tag_pre', 'rss2' );
  22. ?>
  23. <rss version="2.0"
  24.     xmlns:content="http://purl.org/rss/1.0/modules/content/"
  25.     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  26.     xmlns:dc="http://purl.org/dc/elements/1.1/"
  27.     xmlns:atom="http://www.w3.org/2005/Atom"
  28.     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  29.     xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  30.     <?php
  31.     /**
  32.      * Fires at the end of the RSS root to add namespaces.
  33.      *
  34.      * @since 2.0.0
  35.      */
  36.     do_action( 'rss2_ns' );
  37.     ?>
  38. >
  39.  
  40. <channel>
  41.     <title><?php wp_title_rss(); ?></title>
  42.     <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
  43.     <link><?php bloginfo_rss('url') ?></link>
  44.     <description><?php bloginfo_rss("description") ?></description>
  45.     <lastBuildDate><?php
  46.         $date = get_lastpostmodified( 'GMT' );
  47.         echo $date ? mysql2date( 'r', $date, false ) : date( 'r' );
  48.     ?></lastBuildDate>
  49.     <language><?php bloginfo_rss( 'language' ); ?></language>
  50.     <sy:updatePeriod><?php
  51.         $duration = 'hourly';
  52.  
  53.         /**
  54.          * Filters how often to update the RSS feed.
  55.          *
  56.          * @since 2.1.0
  57.          *
  58.          * @param string $duration The update period. Accepts 'hourly', 'daily', 'weekly', 'monthly',
  59.          *                         'yearly'. Default 'hourly'.
  60.          */
  61.         echo apply_filters( 'rss_update_period', $duration );
  62.     ?></sy:updatePeriod>
  63.     <sy:updateFrequency><?php
  64.         $frequency = '1';
  65.  
  66.         /**
  67.          * Filters the RSS update frequency.
  68.          *
  69.          * @since 2.1.0
  70.          *
  71.          * @param string $frequency An integer passed as a string representing the frequency
  72.          *                          of RSS updates within the update period. Default '1'.
  73.          */
  74.         echo apply_filters( 'rss_update_frequency', $frequency );
  75.     ?></sy:updateFrequency>
  76.     <?php
  77.     /**
  78.      * Fires at the end of the RSS2 Feed Header.
  79.      *
  80.      * @since 2.0.0
  81.      */
  82.     do_action( 'rss2_head');
  83.  
  84.     while( have_posts()) : the_post();
  85.     ?>
  86.     <item>
  87.         <title><?php the_title_rss() ?></title>
  88.         <link><?php the_permalink_rss() ?></link>
  89. <?php if ( get_comments_number() || comments_open() ) : ?>
  90.         <comments><?php comments_link_feed(); ?></comments>
  91. <?php endif; ?>
  92.         <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
  93.         <dc:creator><![CDATA[<?php the_author() ?>]]></dc:creator>
  94.         <?php the_category_rss('rss2') ?>
  95.  
  96.         <guid isPermaLink="false"><?php the_guid(); ?></guid>
  97. <?php if (get_option('rss_use_excerpt')) : ?>
  98.         <description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
  99. <?php else : ?>
  100.         <description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
  101.     <?php $content = get_the_content_feed('rss2'); ?>
  102.     <?php if ( strlen( $content ) > 0 ) : ?>
  103.         <content:encoded><![CDATA[<?php echo $content; ?>]]></content:encoded>
  104.     <?php else : ?>
  105.         <content:encoded><![CDATA[<?php the_excerpt_rss(); ?>]]></content:encoded>
  106.     <?php endif; ?>
  107. <?php endif; ?>
  108. <?php if ( get_comments_number() || comments_open() ) : ?>
  109.         <wfw:commentRss><?php echo esc_url( get_post_comments_feed_link(null, 'rss2') ); ?></wfw:commentRss>
  110.         <slash:comments><?php echo get_comments_number(); ?></slash:comments>
  111. <?php endif; ?>
  112. <?php rss_enclosure(); ?>
  113.     <?php
  114.     /**
  115.      * Fires at the end of each RSS2 feed item.
  116.      *
  117.      * @since 2.0.0
  118.      */
  119.     do_action( 'rss2_item' );
  120.     ?>
  121.     </item>
  122.     <?php endwhile; ?>
  123. </channel>
  124. </rss>
  125.