In `WP::handle_404()` introduce a filter `pre_handle_404` to short-circuit default header status handling.
This comes handy if you use WordPress without posts, means `$wp_query` contains no results. Props prettyboymp, hakre, prettyboymp, Denis-de-Bernardy, ethitter, ocean90. Fixes #10722. Built from https://develop.svn.wordpress.org/trunk@36629 git-svn-id: http://core.svn.wordpress.org/trunk@36596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
d7b56a13d9
commit
724ccb492f
|
@ -629,6 +629,21 @@ class WP {
|
||||||
public function handle_404() {
|
public function handle_404() {
|
||||||
global $wp_query;
|
global $wp_query;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter whether to short-circuit default header status handling.
|
||||||
|
*
|
||||||
|
* Returning a non-false value from the filter will short-circuit the handling
|
||||||
|
* and return early.
|
||||||
|
*
|
||||||
|
* @since 4.5.0
|
||||||
|
*
|
||||||
|
* @param bool $preempt Whether to short-circuit default header status handling. Default false.
|
||||||
|
* @param WP_Query $wp_query WordPress Query object.
|
||||||
|
*/
|
||||||
|
if ( false !== apply_filters( 'pre_handle_404', false, $wp_query ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// If we've already issued a 404, bail.
|
// If we've already issued a 404, bail.
|
||||||
if ( is_404() )
|
if ( is_404() )
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.5-alpha-36628';
|
$wp_version = '4.5-alpha-36629';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue