feed_links_extra
Display the links to the extra feeds such as category feeds.
Description
feed_links_extra( (array) $args = array() );
Parameters (1)
- 0. $args — Optional. (array) =>
array()
- Arguments.
Usage
if ( !function_exists( 'feed_links_extra' ) ) { require_once ABSPATH . WPINC . '/general-template.php'; } // Optional arguments. $args = array(); // NOTICE! Understand what this does before running. $result = feed_links_extra($args);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/general-template.php
- function feed_links_extra( $args = array() ) {
- $defaults = array(
- /** translators: Separator between blog name and feed type in feed links */
- 'separator' => _x('»', 'feed link'),
- /** translators: 1: blog name, 2: separator(raquo), 3: post title */
- 'singletitle' => __('%1$s %2$s %3$s Comments Feed'),
- /** translators: 1: blog name, 2: separator(raquo), 3: category name */
- 'cattitle' => __('%1$s %2$s %3$s Category Feed'),
- /** translators: 1: blog name, 2: separator(raquo), 3: tag name */
- 'tagtitle' => __('%1$s %2$s %3$s Tag Feed'),
- /** translators: 1: blog name, 2: separator(raquo), 3: term name, 4: taxonomy singular name */
- 'taxtitle' => __('%1$s %2$s %3$s %4$s Feed'),
- /** translators: 1: blog name, 2: separator(raquo), 3: author name */
- 'authortitle' => __('%1$s %2$s Posts by %3$s Feed'),
- /** translators: 1: blog name, 2: separator(raquo), 3: search phrase */
- 'searchtitle' => __('%1$s %2$s Search Results for “%3$s” Feed'),
- /** translators: 1: blog name, 2: separator(raquo), 3: post type name */
- 'posttypetitle' => __('%1$s %2$s %3$s Feed'),
- );
- $args = wp_parse_args( $args, $defaults );
- if ( is_singular() ) {
- $id = 0;
- $post = get_post( $id );
- if ( comments_open() || pings_open() || $post->comment_count > 0 ) {
- $title = sprintf( $args['singletitle'], get_bloginfo('name'), $args['separator'], the_title_attribute( array( 'echo' => false ) ) );
- $href = get_post_comments_feed_link( $post->ID );
- }
- } elseif ( is_post_type_archive() ) {
- $post_type = get_query_var( 'post_type' );
- if ( is_array( $post_type ) )
- $post_type = reset( $post_type );
- $post_type_obj = get_post_type_object( $post_type );
- $title = sprintf( $args['posttypetitle'], get_bloginfo( 'name' ), $args['separator'], $post_type_obj->labels->name );
- $href = get_post_type_archive_feed_link( $post_type_obj->name );
- } elseif ( is_category() ) {
- $term = get_queried_object();
- if ( $term ) {
- $title = sprintf( $args['cattitle'], get_bloginfo('name'), $args['separator'], $term->name );
- $href = get_category_feed_link( $term->term_id );
- }
- } elseif ( is_tag() ) {
- $term = get_queried_object();
- if ( $term ) {
- $title = sprintf( $args['tagtitle'], get_bloginfo('name'), $args['separator'], $term->name );
- $href = get_tag_feed_link( $term->term_id );
- }
- } elseif ( is_tax() ) {
- $term = get_queried_object();
- $tax = get_taxonomy( $term->taxonomy );
- $title = sprintf( $args['taxtitle'], get_bloginfo('name'), $args['separator'], $term->name, $tax->labels->singular_name );
- $href = get_term_feed_link( $term->term_id, $term->taxonomy );
- } elseif ( is_author() ) {
- $author_id = intval( get_query_var('author') );
- $title = sprintf( $args['authortitle'], get_bloginfo('name'), $args['separator'], get_the_author_meta( 'display_name', $author_id ) );
- $href = get_author_feed_link( $author_id );
- } elseif ( is_search() ) {
- $title = sprintf( $args['searchtitle'], get_bloginfo('name'), $args['separator'], get_search_query( false ) );
- $href = get_search_feed_link();
- } elseif ( is_post_type_archive() ) {
- $title = sprintf( $args['posttypetitle'], get_bloginfo('name'), $args['separator'], post_type_archive_title( '', false ) );
- $post_type_obj = get_queried_object();
- if ( $post_type_obj )
- $href = get_post_type_archive_feed_link( $post_type_obj->name );
- }
- if ( isset($title) && isset($href) )
- echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr( $title ) . '" href="' . esc_url( $href ) . '" />' . "\n";
- }