0
点金 管理员 询问 6月 之前

我目前正在从O’Reilly用Wordpress构建Web应用程序中学习,该书解释说在WordPress初始化和wp操作触发后加载页面模板。我知道在调用get_header之前不会调用wp_head动作。
您如何处理和重定向收集联系人姓名,电子邮件和消息的通用联系表单?还是那不是正确的思维方式?

1回答
0
点金 管理员 问答 6月 之前

这里列出了我已记录的动作列表,这些动作在尝试弄清楚WordPress的功能时对我有帮助。这是我完整列表的一小段,但是应该与您要执行的操作相同:
主题 functions.php 已加载

  • after_setup_theme
  • init
  • wp_loaded

定义的wp query vars 

  • get_search_query (filter)
  • pre_handle_404 (filter)
  • wp
  • template_redirect
  • template_include
  • get_header

页眉已发送
开始html开始head

  • wp_head
  • wp_enqueue_scripts
  • wp_print_styles
  • wp_print_scripts

结束head
您可以依靠的最后一个动作是get_header在发送标头之前。如您所见,wp_head发送标头后会发生火灾,因此这对您没有用。
在像您这样的情况下,我通常要等到至少定义了WP Query var,因为很多时候我需要知道该信息然后再决定要做什么。我无法评论您的具体情况,因此您可能不在乎。但在之前执行任何操作get_header应该没问题。
您的钩子应该足够晚,以允许WordPress处理您可能需要的任何信息。如果您只关心$ _POST数据,什么都不关心,那么继续进行init操作。如果您希望获得WordPress处理的大量信息,请进入wp,等等。