wp_die() — прекращает выполнение PHP-кода и выводит HTML-сообщение об ошибке

Является дополнением к PHP-функции die(), которое заключается в выводе сообщения об ошибке для пользователя в виде HTML-страницы.

wp_die( $message = '', $title = '', $args = array() )
$message
(строка|объект) текст или HTML код сообщения об ошибке, или полностью объект WP_Error.
$title
(строка) заголовок страницы (содержимое <title>), если в предыдущем параметре был указан WP_Error объект, то в качестве заголовка будет использоваться $data['title']. По умолчанию WordPress &rsaquo; Ошибка.
$args
(массив) несколько дополнительных настроек.
response
(целое число) код ответ
По умолчанию: 500.
back_link
(логическое) нужно ли добавить ссылку на предыдущую страницу
По умолчанию: false.
text_direction
(строка) направление текста
По умолчанию: ltr.

Примеры

Как видите, непосредственно в тексте ошибки можно использовать HTML-теги. Однако до версии WordPress 5.3 этот текст оборачивался в тег параграфа <p>, что делало использование внутри текста некоторых тегов, например <h1>, <p> (и всё, что не может находиться внутри абзаца) разметку невалидной. Однако это исправили в версии 5.3, и теперь текст ошибки оборачивается в тег <div> с классом .wp-die-message.

wp_die( 'Какой-то <em>текст</em> в сообщении об ошибке', '', array( 'back_link' => true ) );

В итоге:

Результат действия WordPress функции wp_die()
Я специально заскринил всё окно браузера, чтобы вам видно было заголовок <title> документа.

А теперь попробуем например выяснить, что находится в переменной $wp_query хитрым и довольно удобным на мой взгляд способом:

global $wp_query;
wp_die( '<pre>' . var_export( $wp_query, true ) );

Миша

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

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

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

Комментарии — 4

Комментирование этого поста более не доступно.
  • Константин 17 июня 2015 #

    Приветствую!
    А есть подобная функция только без редиректа?

    • Миша 17 июня 2015 #

      Привет!
      Просто die() 🙂 или exit

  • Роман 22 января 2016 #

    Здравствуйте, а куда вставить global $wp_query; ..... , чтобы вывелся результат?

    • Миша 23 января 2016 #

      Здравствуйте. По сути куда угодно.