get_post_comments_feed_link( int $post_id, string $feed = '' )
Retrieves the permalink for the post comments feed.
Parameters
- $post_id
-
(Optional) Post ID. Default is the ID of the global
$post
. - $feed
-
(Optional) Feed type.
Default value: ''
Return
(string) The permalink for the comments feed for the given post.
Source
File: wp-includes/link-template.php
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 );
$unattached = 'attachment' === $post->post_type && 0 === (int) $post->post_parent;
if ( '' != get_option('permalink_structure') ) {
if ( 'page' == get_option('show_on_front') && $post_id == get_option('page_on_front') )
$url = _get_page_link( $post_id );
else
$url = get_permalink($post_id);
if ( $unattached ) {
$url = home_url( '/feed/' );
if ( $feed !== get_default_feed() ) {
$url .= "$feed/";
}
$url = add_query_arg( 'attachment_id', $post_id, $url );
} else {
$url = trailingslashit($url) . 'feed';
if ( $feed != get_default_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 WP-1.5.1
*
* @param string $url Post comments feed permalink.
*/
return apply_filters( 'post_comments_feed_link', $url );
}
Changelog
Version | Description |
---|---|
WP-2.2.0 | Introduced. |