status_header() — позволяет изменить код ответа сервера

При помощи php-функции @header() устанавливает заданный код ответа сервера на странице, на которой используется.

Важно знать только одну вещь — функцию следует применить до того, как начнет выводиться хоть какой-то HTML код, иначе она просто-напросто не будет работать.

status_header( $header )
$header
(целое число) код ответа сервера, например 400, 404, 301 и т.д.

Функция не возвращает никаких значений.

Пример использования

status_header( 404 );

А теперь обратите внимание на расположение функции. Конечно, это только пример, главное условие — до HTML.

status_header( 404 );
get_header();
...

Фильтр status_header

Непосредственно перед задействованием функции @header() применяется фильтр status_header.

Мой пример использования фильтра:

function true_status_header_filter_func( $status_header, $code, $description, $protocol ) {
	// $status_header - первоначальное значение функции
	// $code - код, например 301 или 404
	// $description - описание, например 'Moved Permanently' или 'Not Found'
	// $protocol - протокол, например HTTP/1.0
	return 'HTTP/1.0 400 Bad Request';
}
 
add_filter('status_header', 'true_status_header_filter_func', 10, 4);

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.