ID ); } } elseif ( is_year() ) { $url = get_year_link( get_query_var( 'year' ) ); } elseif ( is_month() ) { $url = get_month_link( get_query_var( 'year' ), get_query_var( 'monthnum' ) ); } elseif ( is_day() ) { $url = get_day_link( get_query_var( 'year' ), get_query_var( 'monthnum' ), get_query_var( 'day' ) ); } // is_search() and is_404() intentionally return empty string (no canonical). if ( ! empty( $url ) ) { $url = self::apply_pagination( $url ); } /** * Filter the canonical URL before output. * * @module canonical-urls * * @since 15.6 * * @param string $url The canonical URL for the current page. */ return apply_filters( 'jetpack_canonical_url', $url ); } /** * Append pagination to the canonical URL for paged views. * * @since 15.6 * * @param string $url The base canonical URL. * @return string The URL with pagination appended if applicable. */ private static function apply_pagination( $url ) { $paged = get_query_var( 'paged', 0 ); if ( $paged < 2 ) { return $url; } global $wp_rewrite; if ( $wp_rewrite->using_permalinks() && false === strpos( $url, '?' ) ) { $url = user_trailingslashit( trailingslashit( $url ) . $wp_rewrite->pagination_base . '/' . $paged ); } else { $url = add_query_arg( 'paged', $paged, $url ); } return $url; } }