diff --git a/src/wp-includes/default-filters.php b/src/wp-includes/default-filters.php
index 056e8ffb43..febb5f6040 100644
a
|
b
|
add_action( 'wp_head', 'wp_print_styles', 8 ); |
294 | 294 | add_action( 'wp_head', 'wp_print_head_scripts', 9 ); |
295 | 295 | add_action( 'wp_head', 'wp_generator' ); |
296 | 296 | add_action( 'wp_head', 'rel_canonical' ); |
| 297 | add_action( 'wp_head', 'rel_feed_for_posts', 10, 0 ); |
297 | 298 | add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); |
298 | 299 | add_action( 'wp_head', 'wp_custom_css_cb', 101 ); |
299 | 300 | add_action( 'wp_head', 'wp_site_icon', 99 ); |
diff --git a/src/wp-includes/general-template.php b/src/wp-includes/general-template.php
index f9b7bf3c00..17ac5bd3b1 100644
a
|
b
|
function wp_heartbeat_settings( $settings ) { |
4590 | 4590 | |
4591 | 4591 | return $settings; |
4592 | 4592 | } |
| 4593 | |
| 4594 | /** |
| 4595 | * Adds a link rel=feed element to the home page when a static front page is set in Settings > Reading. |
| 4596 | * |
| 4597 | * See {@see 'wp_head'}. |
| 4598 | * |
| 4599 | * @since 5.2.3 |
| 4600 | */ |
| 4601 | function rel_feed_for_posts() { |
| 4602 | $page_for_posts = get_option( 'page_for_posts' ); |
| 4603 | |
| 4604 | if ( is_front_page() && ! is_home() ) { |
| 4605 | echo '<link rel="feed" type="text/html" href="' . get_the_permalink( $page_for_posts ) . '" title="' . the_title_attribute( array( 'echo' => false, 'post' => $page_for_posts ) ) . '" />'; |
| 4606 | } |
| 4607 | } |
diff --git a/tests/phpunit/tests/general/document-title.php b/tests/phpunit/tests/general/document-title.php
index 826a14a7cd..75d42fba58 100644
a
|
b
|
|
1 | 1 | <?php |
2 | 2 | |
3 | 3 | /** |
4 | | * A set of unit tests for functions in wp-includes/general-template.php |
| 4 | * A set of unit tests for testing the Document Title functions in wp-includes/general-template.php |
5 | 5 | * |
| 6 | * @group general |
6 | 7 | * @group template |
7 | 8 | * @group document-title |
| 9 | * @ticket 46227 |
8 | 10 | */ |
9 | 11 | class Tests_General_DocumentTitle extends WP_UnitTestCase { |
10 | 12 | |
… |
… |
class Tests_General_DocumentTitle extends WP_UnitTestCase { |
275 | 277 | function _change_title_separator( $sep ) { |
276 | 278 | return '%%'; |
277 | 279 | } |
| 280 | |
| 281 | // Test adding custom feed link to the blog page in the header. |
| 282 | function test_add_feed_link_to_header_front_page() { |
| 283 | $test_title = 'Blog'; |
| 284 | // create a sample blog page. |
| 285 | $blog_page_id = $this->factory->post->create( |
| 286 | array( |
| 287 | 'post_title' => $test_title, |
| 288 | 'post_type' => 'page', |
| 289 | ) |
| 290 | ); |
| 291 | |
| 292 | update_option( 'page_for_posts', $blog_page_id ); |
| 293 | update_option( 'show_on_front', 'page' ); |
| 294 | |
| 295 | $this->go_to('/'); |
| 296 | |
| 297 | $doc = new DOMDocument(); |
| 298 | $doc->preserveWhiteSpace = false; |
| 299 | |
| 300 | $test_link_str = '<link rel="feed" type="text/html" href="' . get_the_permalink( $blog_page_id ) . '" title="' . the_title_attribute( array( 'echo' => false, 'post' => $blog_page_id ) ) . '" />'; |
| 301 | $doc->loadHTML( $test_link_str ); |
| 302 | |
| 303 | $selector = new DOMXPath( $doc ); |
| 304 | $result = $selector->query( "/html/head/link[@rel= 'feed']" ); |
| 305 | $test_blog_title = $result->item(0)->getAttribute( 'title' ); |
| 306 | |
| 307 | $this->assertEquals( $test_blog_title, $test_title ); |
| 308 | } |
278 | 309 | } |