Handle front page comment feeds in Canonical. fixes #8320
git-svn-id: http://svn.automattic.com/wordpress/trunk@9883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
ed2aa41297
commit
ecffc4649f
|
@ -133,16 +133,19 @@ function redirect_canonical($requested_url=null, $do_redirect=true) {
|
||||||
if ( !$redirect_url )
|
if ( !$redirect_url )
|
||||||
$redirect_url = $requested_url;
|
$redirect_url = $requested_url;
|
||||||
$paged_redirect = @parse_url($redirect_url);
|
$paged_redirect = @parse_url($redirect_url);
|
||||||
while ( preg_match( '#/page/[0-9]+?(/+)?$#', $paged_redirect['path'] ) || preg_match( '#/(feed|rss|rdf|atom|rss2)(/+)?$#', $paged_redirect['path'] ) || preg_match( '#/comment-page-[0-9]+(/+)?$#', $paged_redirect['path'] ) ) {
|
while ( preg_match( '#/page/[0-9]+?(/+)?$#', $paged_redirect['path'] ) || preg_match( '#/(comments/?)?(feed|rss|rdf|atom|rss2)(/+)?$#', $paged_redirect['path'] ) || preg_match( '#/comment-page-[0-9]+(/+)?$#', $paged_redirect['path'] ) ) {
|
||||||
// Strip off paging and feed
|
// Strip off paging and feed
|
||||||
$paged_redirect['path'] = preg_replace('#/page/[0-9]+?(/+)?$#', '/', $paged_redirect['path']); // strip off any existing paging
|
$paged_redirect['path'] = preg_replace('#/page/[0-9]+?(/+)?$#', '/', $paged_redirect['path']); // strip off any existing paging
|
||||||
$paged_redirect['path'] = preg_replace('#/(feed|rss2?|rdf|atom)(/+)?$#', '/', $paged_redirect['path']); // strip off feed endings
|
$paged_redirect['path'] = preg_replace('#/(comments/?)?(feed|rss2?|rdf|atom)(/+)?$#', '/', $paged_redirect['path']); // strip off feed endings
|
||||||
$paged_redirect['path'] = preg_replace('#/comment-page-[0-9]+?(/+)?$#', '/', $paged_redirect['path']); // strip off any existing comment paging
|
$paged_redirect['path'] = preg_replace('#/comment-page-[0-9]+?(/+)?$#', '/', $paged_redirect['path']); // strip off any existing comment paging
|
||||||
}
|
}
|
||||||
|
|
||||||
$addl_path = '';
|
$addl_path = '';
|
||||||
if ( is_feed() ) {
|
if ( is_feed() ) {
|
||||||
$addl_path = ( !empty( $addl_path ) ? trailingslashit($addl_path) : '' ) . user_trailingslashit( 'feed/' . ( ( 'rss2' == get_query_var('feed') || 'feed' == get_query_var('feed') ) ? '' : get_query_var('feed') ), 'feed' );
|
$addl_path = !empty( $addl_path ) ? trailingslashit($addl_path) : '';
|
||||||
|
if ( get_query_var( 'withcomments' ) )
|
||||||
|
$addl_path .= 'comments/';
|
||||||
|
$addl_path .= user_trailingslashit( 'feed/' . ( ( 'rss2' == get_query_var('feed') || 'feed' == get_query_var('feed') ) ? '' : get_query_var('feed') ), 'feed' );
|
||||||
$redirect['query'] = remove_query_arg( 'feed', $redirect['query'] );
|
$redirect['query'] = remove_query_arg( 'feed', $redirect['query'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue