wordpress-develop/tests/phpunit/tests/wp/sendHeaders.php
Sergey Biryukov ca0979baa5 Bootstrap/Load: Send HTTP headers after querying posts in WP::main().
By running `WP::send_headers()` after posts have been queried, we can ensure that conditional tags like `is_front_page()`, `is_home()`, etc. work as expected.

This provides better context and more flexibility when adjusting HTTP headers via the `wp_headers` filter or `send_headers` action.

Previously, the earliest action where conditional tags worked correctly was `wp`.

Includes moving the `X-Pingback` header, previously sent in `WP::handle_404()`​ after posts have been queried, to a more appropriate place in `WP::send_headers()`.

Follow-up to [2627], [34442].

Props jonoaldersonwp, joostdevalk, peterwilsoncc, adamsilverstein, SergeyBiryukov.
Fixes #56068.

git-svn-id: https://develop.svn.wordpress.org/trunk@54250 602fd350-edb4-49c9-b593-d223f7449a82
2022-09-20 13:10:24 +00:00

23 lines
371 B
PHP

<?php
/**
* @group wp
* @covers WP::send_headers
*/
class Tests_WP_SendHeaders extends WP_UnitTestCase {
/**
* @ticket 56068
*/
public function test_send_headers_runs_after_posts_have_been_queried() {
add_action(
'send_headers',
function ( $wp ) {
$this->assertQueryTrue( 'is_front_page', 'is_home' );
}
);
$this->go_to( home_url() );
}
}