Как перенаправить заголовки перед их отправкой на страницу с помощью WordPress - PullRequest
0 голосов
/ 12 июля 2020

В настоящее время я учусь по книге O'Reilly Building Web Apps with Wordpress, в книге объясняется, что шаблон страницы загружается после запуска действий WordPress init и wp. Я знаю, что действие wp_head не будет вызываться, пока я не вызову get_header.

Как вы обрабатываете и перенаправляете общую c контактную форму, которая собирает имя человека, адрес электронной почты и сообщение? Или это неправильный подход к мышлению?

1 Ответ

0 голосов
/ 12 июля 2020

Вот список действий, которые я записал, чтобы помочь мне понять, к чему подключиться с WordPress. Это очень маленький фрагмент моего полного списка, но он должен соответствовать тому, что вы пытаетесь сделать:

функции темы. php загружено

  • after_setup_theme
  • init
  • wp_loaded

определены переменные запроса wp

  • get_search_query (фильтр)
  • pre_handle_404 (фильтр)
  • wp
  • template_redirect
  • template_include
  • get_header

заголовки отправляются

start html , начальная голова

  • wp_head
  • wp_enqueue_scripts
  • wp_print_styles
  • wp_print_scripts

end head

Последнее действие, на которое вы можете положиться, - это get_header перед отправкой заголовков. Как вы можете видеть, wp_head срабатывает после отправки заголовков, так что это бесполезно для вас.

В таком случае, как ваш, я обычно хочу подождать, пока не будут определены хотя бы переменные WP Query, поскольку Часто мне нужно знать эту информацию, прежде чем решать, что делать. Я не могу комментировать ваш конкретный сценарий c, поэтому вам может быть все равно. но подключение к любому действию до get_header должно быть нормальным.

Ваша ловушка должна быть достаточно поздней, чтобы вы позволяли WordPress обрабатывать любую информацию, которая может вам понадобиться. Если вас ничего не интересует, а просто нужны данные $ _POST, тогда вперед go и подключитесь к действию init. Если вы хотите, чтобы вам был доступен большой объем информации, обрабатываемой WordPress, подключитесь к wp, et c.

...