get_post_comments_feed_link() – Retrieves the permalink for the post comments feed.

You appear to be a bot. Output may be restricted

Description

Retrieves the permalink for the post comments feed.

Usage

$string = get_post_comments_feed_link( $post_id, $feed );

Parameters

$post_id
( int ) optional – Optional. Post ID. Default is the ID of the global `$post`.
$feed
( string ) optional – Optional. Feed type. Possible values include 'rss2', 'atom'. Default is the value of get_default_feed().

Returns

string The permalink for the comments feed for the given post on success, empty string on failure.

Source

File name: wordpress/wp-includes/link-template.php
Lines:

1 to 77 of 77
function get_post_comments_feed_link( $post_id = 0, $feed = '' ) {
  $post_id = absint( $post_id );

  if ( ! $post_id ) {
    $post_id = get_the_ID();
  }

  if ( empty( $feed ) ) {
    $feed = get_default_feed();
  }

  $post = get_post( $post_id );

  // Bail out if the post does not exist.
  if ( ! $post instanceof WP_Post ) {
    return '';
  }

  $unattached = 'attachment' === $post->post_type && 0 === (int) $post->post_parent;

  if ( get_option( 'permalink_structure' ) ) {
    if ( 'page' === get_option( 'show_on_front' ) && get_option( 'page_on_front' ) == $post_id ) {
      $url = _get_page_link( $post_id );
    } else {
      $url = get_permalink( $post_id );
    }

    if ( $unattached ) {
      $url = home_url( '/feed/' );
      if ( get_default_feed() !== $feed ) {
        $url .= "$feed/";
      }
      $url = add_query_arg( 'attachment_id', $post_id, $url );
    } else {
      $url = trailingslashit( $url ) . 'feed';
      if ( get_default_feed() != $feed ) {
        $url .= "/$feed";
      }
      $url = user_trailingslashit( $url, 'single_feed' );
    }
  } else {
    if ( $unattached ) {
      $url = add_query_arg(
        array(
          'feed'          => $feed,
          'attachment_id' => $post_id,
        ),
        home_url( '/' )
      );
    } elseif ( 'page' === $post->post_type ) {
      $url = add_query_arg(
        array(
          'feed'    => $feed,
          'page_id' => $post_id,
        ),
        home_url( '/' )
      );
    } else {
      $url = add_query_arg(
        array(
          'feed' => $feed,
          'p'    => $post_id,
        ),
        home_url( '/' )
      );
    }
  }

  
/**
 * Filters the post comments feed permalink.
 *
 * @since 1.5.1
 *
 * @param string $url Post comments feed permalink.
 */
  return apply_filters( 'post_comments_feed_link', $url );
}
 

 View on GitHub View on Trac