Если в вашей теме определена страница 404, Wordpress отобразит страницу 404, если в теге $ wp_query-> query_vars определен «тег», и нет записей, соответствующих этому тегу.
Я пишу плагин, который отображает некоторую информацию на каждой странице, в дополнение к сообщениям. Я хотел бы изменить логику 404, чтобы страница 404 отображалась, если нет записей, соответствующих тегу, и плагин не может получить какие-либо данные, соответствующие этому тегу. Если плагин может найти данные, я хотел бы показать нормальную страницу, независимо от того, есть ли сообщения на этой странице или нет ...
Я гуглил, читал код, читал кодекс и копался здесь, и не смог выяснить, где Wordpress запускает этот 404, и как я могу его переопределить. (У меня есть ощущение, что это может быть связано с status_header () в functions.php, но не ясно, как и когда мне нужно подключиться к нему).
Любая помощь / идеи / просвещение приветствуется.
Спасибо,
Патч
// configuration
require('./wp-load.php');
// init WP (inits objects, language and stuff).
wp();
// fix title (this is not 404)
$wp_query->is_404 = false; // doesn't fix the actual 404 status
status_header( 200 ); // but this does :-)
Создайте
404.php
файл шаблона в своей теме и настройте его по мере необходимости (добавив вывод плагина или что-то еще) Вы упомянули в своей теме , что именно не так с этим подходом для вас?Кодекс, создающий страницу ошибки 404
источник