如何在将 headers 发送到使用 WordPress 的页面之前重定向
How to redirect headers before they are sent to a page using WordPress
我目前正在学习 O'Reilly 使用 Wordpress 构建 Web 应用程序一书,该书解释了页面模板是在 WordPress init 和 wp 操作触发后加载的。我知道在调用 get_header 之前不会调用 wp_head 操作。
您如何处理和重定向收集个人姓名、电子邮件和消息的通用联系表单?还是这不是正确的思考方式?
这里是我记录的操作列表,可以帮助我弄清楚要与 WordPress 挂钩的内容。这是我完整列表中的一小段,但它应该与您要执行的操作相符:
主题functions.php加载
- after_setup_theme
- 初始化
- wp_loaded
wp 查询变量已定义
- get_search_query(过滤器)
- pre_handle_404(过滤器)
- wp
- template_redirect
- template_include
- get_header
headers发送
开始html,开始头
- wp_head
- wp_enqueue_scripts
- wp_print_styles
- wp_print_scripts
端头
在 headers 发送之前,您可以依赖的最后一个操作是 get_header
。如您所见,wp_head
在 headers 发送后触发,因此这对您没有用。
在像您这样的情况下,我通常想等到至少定义了 WP 查询变量,因为很多时候我需要知道该信息才能决定要做什么。我无法评论您的具体情况,因此您可能不在乎。但是在 get_header
之前挂钩到任何动作应该没问题。
您的挂钩应该足够晚,以允许 WordPress 处理您可能需要的任何信息。如果您不关心任何事情而只是想要 $_POST 数据,那么继续并挂接到 init
操作。如果你希望大量的 WordPress 处理的信息可供你使用,那么挂钩到 wp
等
我目前正在学习 O'Reilly 使用 Wordpress 构建 Web 应用程序一书,该书解释了页面模板是在 WordPress init 和 wp 操作触发后加载的。我知道在调用 get_header 之前不会调用 wp_head 操作。
您如何处理和重定向收集个人姓名、电子邮件和消息的通用联系表单?还是这不是正确的思考方式?
这里是我记录的操作列表,可以帮助我弄清楚要与 WordPress 挂钩的内容。这是我完整列表中的一小段,但它应该与您要执行的操作相符:
主题functions.php加载
- after_setup_theme
- 初始化
- wp_loaded
wp 查询变量已定义
- get_search_query(过滤器)
- pre_handle_404(过滤器)
- wp
- template_redirect
- template_include
- get_header
headers发送
开始html,开始头
- wp_head
- wp_enqueue_scripts
- wp_print_styles
- wp_print_scripts
端头
在 headers 发送之前,您可以依赖的最后一个操作是 get_header
。如您所见,wp_head
在 headers 发送后触发,因此这对您没有用。
在像您这样的情况下,我通常想等到至少定义了 WP 查询变量,因为很多时候我需要知道该信息才能决定要做什么。我无法评论您的具体情况,因此您可能不在乎。但是在 get_header
之前挂钩到任何动作应该没问题。
您的挂钩应该足够晚,以允许 WordPress 处理您可能需要的任何信息。如果您不关心任何事情而只是想要 $_POST 数据,那么继续并挂接到 init
操作。如果你希望大量的 WordPress 处理的信息可供你使用,那么挂钩到 wp
等