Make WordPress Core

Changeset 6365


Ignore:
Timestamp:
12/06/2007 07:58:15 PM (19 years ago)
Author:
ryan
Message:

New feed_link functions. Deprecate rss_link functions. Make default feed pluggable. Props rubys. see #5328

Location:
trunk/wp-includes
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/author-template.php

    r6364 r6365  
    367367                'optioncount' => false, 'exclude_admin' => true,
    368368                'show_fullname' => false, 'hide_empty' => true,
    369                 'feed' => '', 'feed_image' => '', 'echo' => true
     369                'feed' => '', 'feed_image' => '', 'feed_type' => '', 'echo' => true
    370370        );
    371371
  • trunk/wp-includes/category-template.php

    r6364 r6365  
    248248                'style' => 'list', 'show_count' => 0,
    249249                'hide_empty' => 1, 'use_desc_for_title' => 1,
    250                 'child_of' => 0, 'feed' => '',
     250                'child_of' => 0, 'feed' => '', 'feed_type' => '',
    251251                'feed_image' => '', 'exclude' => '',
    252252                'hierarchical' => true, 'title_li' => __('Categories'),
  • trunk/wp-includes/classes.php

    r6320 r6365  
    600600                                $link .= '(';
    601601
    602                         $link .= '<a href="' . get_category_rss_link( 0, $category->term_id, $category->slug ) . '"';
     602                        $link .= '<a href="' . get_category_feed_link($category->term_id, $feed_type) . '"';
    603603
    604604                        if ( empty($feed) )
  • trunk/wp-includes/deprecated.php

    r6160 r6365  
    730730}
    731731
     732
     733function comments_rss_link($link_text = 'Comments RSS', $deprecated = '') {
     734        post_comments_feed_link($link_text);
     735}
     736
     737function get_category_rss_link($echo = false, $cat_ID, $deprecated = '') {
     738        $link = get_category_feed_link($cat_ID, $feed = 'rss2');
     739
     740        if ( $echo )
     741                echo $link;
     742        return $link;
     743}
     744
     745function get_author_rss_link($echo = false, $author_id, $deprecated = '') {
     746        $link = get_author_feed_link($author_id);
     747        if ( $echo )
     748                echo $link;
     749        return $link;
     750}
     751
    732752?>
  • trunk/wp-includes/feed.php

    r6364 r6365  
    66}
    77
    8 
    98function bloginfo_rss($show = '') {
    109        echo apply_filters('bloginfo_rss', get_bloginfo_rss($show));
     10}
     11
     12function get_default_feed() {
     13        return apply_filters('default_feed', 'rss2');
    1114}
    1215
     
    8184}
    8285
    83 
    8486function get_comment_author_rss() {
    8587        return apply_filters('comment_author_rss', get_comment_author() );
    8688}
    8789
    88 
    8990function comment_author_rss() {
    9091        echo get_comment_author_rss();
    9192}
    92 
    9393
    9494function comment_text_rss() {
     
    9898}
    9999
    100 
    101 function comments_rss_link($link_text = 'Comments RSS', $deprecated = '') {
    102         $url = get_post_comments_feed_link();
    103         echo "<a href='$url'>$link_text</a>";
    104 }
    105 
    106 
    107100function comments_rss($deprecated = '') {
    108101        return get_post_comments_feed_link();
    109102}
    110 
    111 
    112 function get_author_rss_link($echo = false, $author_id, $author_nicename) {
    113         $author_id = (int) $author_id;
    114         $permalink_structure = get_option('permalink_structure');
    115 
    116         if ( '' == $permalink_structure ) {
    117                 $link = get_option('home') . '?feed=rss2&amp;author=' . $author_id;
    118         } else {
    119                 $link = get_author_posts_url($author_id, $author_nicename);
    120                 $link = trailingslashit($link) . user_trailingslashit('feed', 'feed');
    121         }
    122 
    123         $link = apply_filters('author_feed_link', $link);
    124 
    125         if ( $echo )
    126                 echo $link;
    127         return $link;
    128 }
    129 
    130 /** get_category_feed_link() - Get the feed link for a given category
    131  *
    132  * Returns a link to the feed for all post in a given category.  A specific feed can be requested
    133  * or left blank to get the default feed.
    134  *
    135  * @package WordPress
    136  * @subpackage Feed
    137  * @since 2.4
    138  *
    139  * @param int $cat_id ID of a category
    140  * @param string $feed Feed type
    141  * @return string Link to the feed for the category specified by $cat_id
    142 */
    143 function get_category_feed_link($cat_id, $feed = 'rss2') {
    144         $cat_id = (int) $cat_id;
    145        
    146         $category = get_category($cat_id);
    147        
    148         if ( empty($category) || is_wp_error($category) )
    149                 return false;
    150        
    151         $permalink_structure = get_option('permalink_structure');
    152 
    153         if ( '' == $permalink_structure ) {
    154                 $link = get_option('home') . "?feed=$feed&amp;cat=" . $cat_id;
    155         } else {
    156                 $link = get_category_link($cat_id);
    157                 if( 'rss2' == $feed )
    158                         $feed_link = 'feed';
    159                 else
    160                         $feed_link = "feed/$feed";
    161                
    162                 $link = trailingslashit($link) . user_trailingslashit($feed_link, 'feed');
    163         }
    164 
    165         $link = apply_filters('category_feed_link', $link, $feed);
    166        
    167         return $link;
    168 }
    169 
    170 
    171 function get_category_rss_link($echo = false, $cat_ID, $deprecated = '') {
    172         $link = get_category_feed_link($cat_ID, 'rss2');
    173 
    174         if ( $echo )
    175                 echo $link;
    176         return $link;
    177 }
    178 
    179103
    180104function get_the_category_rss($type = 'rss') {
     
    210134}
    211135
    212 
    213136function the_category_rss($type = 'rss') {
    214137        echo get_the_category_rss($type);
    215 }
    216 
    217 function get_tag_feed_link($tag_id, $feed = 'rss2') {
    218         $tag_id = (int) $tag_id;
    219 
    220         $tag = get_tag($tag_id);
    221 
    222         if ( empty($tag) || is_wp_error($tag) )
    223                 return false;
    224 
    225         $permalink_structure = get_option('permalink_structure');
    226 
    227         if ( '' == $permalink_structure ) {
    228                 $link = get_option('home') . "?feed=$feed&amp;tag=" . $tag->slug;
    229         } else {
    230                 $link = get_tag_link($tag->term_id);
    231                 if ( 'rss2' == $feed )
    232                         $feed_link = 'feed';
    233                 else
    234                         $feed_link = "feed/$feed";
    235                 $link = $link . user_trailingslashit($feed_link, 'feed');
    236         }
    237 
    238         $link = apply_filters('tag_feed_link', $link, $feed);
    239 
    240         return $link;
    241138}
    242139
  • trunk/wp-includes/functions.php

    r6364 r6365  
    864864
    865865        if ( $feed == '' || $feed == 'feed' )
    866                 $feed = 'rss2';
     866                $feed = get_default_feed();
    867867
    868868        $hook = 'do_feed_' . $feed;
  • trunk/wp-includes/link-template.php

    r6364 r6365  
    231231}
    232232
    233 function get_feed_link($feed='rss2') {
     233function get_feed_link($feed = '') {
    234234        global $wp_rewrite;
    235235
     
    241241                }
    242242
    243                 if ( 'rss2' == $feed )
     243                if ( get_default_feed() == $feed )
    244244                        $feed = '';
    245245
     
    248248                $output =  get_option('home') . user_trailingslashit($permalink, 'feed');
    249249        } else {
     250                if ( empty($feed) )
     251                        $feed = get_default_feed();
     252
    250253                if ( false !== strpos($feed, 'comments_') )
    251254                        $feed = str_replace('comments_', 'comments-', $feed);
     
    257260}
    258261
    259 function get_post_comments_feed_link($post_id = '', $feed = 'rss2') {
     262function get_post_comments_feed_link($post_id = '', $feed = '') {
    260263        global $id;
    261264
     
    263266                $post_id = (int) $id;
    264267
     268        if ( empty($feed) )
     269                $feed = get_default_feed();
     270
    265271        if ( '' != get_option('permalink_structure') ) {
    266272                $url = trailingslashit( get_permalink($post_id) ) . 'feed';
    267                 if ( 'rss2' != $feed )
     273                if ( $feed != get_default_feed() )
    268274                        $url .= "/$feed";
    269275                $url = user_trailingslashit($url, 'single_feed');
     
    277283
    278284        return apply_filters('post_comments_feed_link', $url);
     285}
     286
     287/** post_comments_feed_link() - Output the comment feed link for a post.
     288 *
     289 * Prints out the comment feed link for a post.  Link text is placed in the
     290 * anchor.  If no link text is specified, default text is used.  If no post ID
     291 * is specified, the current post is used.
     292 *
     293 * @package WordPress
     294 * @subpackage Feed
     295 * @since 2.4
     296 *
     297 * @param string Descriptive text
     298 * @param int Optional post ID.  Default to current post.
     299 * @return string Link to the comment feed for the current post
     300*/
     301function post_comments_feed_link( $link_text = '', $post_id = '', $feed = '' ) {
     302        $url = get_post_comments_feed_link($post_id, $feed);
     303        if ( empty($link_text) )
     304                $link_text = __('Comments Feed');
     305
     306        echo "<a href='$url'>$link_text</a>";
     307}
     308
     309function get_author_feed_link( $author_id, $feed = '' ) {
     310        $author_id = (int) $author_id;
     311        $permalink_structure = get_option('permalink_structure');
     312
     313        if ( empty($feed) )
     314                $feed = get_default_feed();
     315
     316        if ( '' == $permalink_structure ) {
     317                $link = get_option('home') . '?feed=rss2&amp;author=' . $author_id;
     318        } else {
     319                $link = get_author_posts_url($author_id, $author_nicename);
     320                $link = trailingslashit($link) . user_trailingslashit('feed', 'feed');
     321        }
     322
     323        $link = apply_filters('author_feed_link', $link);
     324
     325        return $link;
     326}
     327
     328/** get_category_feed_link() - Get the feed link for a given category
     329 *
     330 * Returns a link to the feed for all post in a given category.  A specific feed can be requested
     331 * or left blank to get the default feed.
     332 *
     333 * @package WordPress
     334 * @subpackage Feed
     335 * @since 2.4
     336 *
     337 * @param int $cat_id ID of a category
     338 * @param string $feed Feed type
     339 * @return string Link to the feed for the category specified by $cat_id
     340*/
     341function get_category_feed_link($cat_id, $feed = '') {
     342        $cat_id = (int) $cat_id;
     343       
     344        $category = get_category($cat_id);
     345       
     346        if ( empty($category) || is_wp_error($category) )
     347                return false;
     348
     349        if ( empty($feed) )
     350                $feed = get_default_feed();
     351
     352        $permalink_structure = get_option('permalink_structure');
     353
     354        if ( '' == $permalink_structure ) {
     355                $link = get_option('home') . "?feed=$feed&amp;cat=" . $cat_id;
     356        } else {
     357                $link = get_category_link($cat_id);
     358                if( $feed == get_default_feed() )
     359                        $feed_link = 'feed';
     360                else
     361                        $feed_link = "feed/$feed";
     362               
     363                $link = trailingslashit($link) . user_trailingslashit($feed_link, 'feed');
     364        }
     365
     366        $link = apply_filters('category_feed_link', $link, $feed);
     367       
     368        return $link;
     369}
     370
     371function get_tag_feed_link($tag_id, $feed = '') {
     372        $tag_id = (int) $tag_id;
     373
     374        $tag = get_tag($tag_id);
     375
     376        if ( empty($tag) || is_wp_error($tag) )
     377                return false;
     378
     379        $permalink_structure = get_option('permalink_structure');
     380
     381        if ( empty($feed) )
     382                $feed = get_default_feed();
     383
     384        if ( '' == $permalink_structure ) {
     385                $link = get_option('home') . "?feed=$feed&amp;tag=" . $tag->slug;
     386        } else {
     387                $link = get_tag_link($tag->term_id);
     388                if ( $feed == get_default_feed() )
     389                        $feed_link = 'feed';
     390                else
     391                        $feed_link = "feed/$feed";
     392                $link = $link . user_trailingslashit($feed_link, 'feed');
     393        }
     394
     395        $link = apply_filters('tag_feed_link', $link, $feed);
     396
     397        return $link;
    279398}
    280399
Note: See TracChangeset for help on using the changeset viewer.