Вот список действий, которые я записал, чтобы помочь мне понять, к чему подключиться с 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.