如何在WordPress中处理自定义表单以提交到另一个页面?

时间:2018-11-12 作者:Limpuls

我知道在PHP中,我可以将动作设置为随机。php文件并在那里处理数据,但在wordpress中如何使用已有的页面和自定义模板向提交表单,以便在一个页面上提交表单后,用户将被重定向到wordpress中的另一个页面,并且其所有输入的凭据仍然可用?

1 个回复
最合适的回答,由SO网友:user119247 整理而成

<form action="<?php echo esc_url( admin_url(\'admin-post.php\') ); ?>" method="post">
<input type="hidden" name="action" value="your_action_name">
将这些添加到表单中。其中admin post。php将处理您的表单。在这种情况下,根据您提供的\\u action\\u名称的值,将涉及一个操作挂钩。例如,如果您在functions.php 主题或插件中

add_action( \'admin_post_nopriv_your_action_name\', \'your_function_to_process_form\' );
然后对于未登录的用户

function your_function_to_process_form(){
// process your form here
}
将被调用。从那里你可以处理你的表格。对于登录用户,您需要将操作重命名为admin_post_your_action_name 从…起admin_post_nopriv_your_action_name. 回想起admin_post_admin_post_nopriv_ 可在管理员帖子中找到。php收件人do_action 适当的行动。无论您在admin_post_nopriv_admin_post_ 将制定一个动作挂钩。需要由以下人员实施add_action(). 如果你通过contactform 作为一个隐藏动作,那么你的动作钩将是admin_post_nopriv_contactformadmin_post_contactform 或者两者兼而有之。

结束

相关推荐

如何检查你是否在Widget.php页面上?

我正在尝试编写一个小部件,我需要将颜色选择器添加到我的小部件表单中。我只想在widget上添加脚本。php页面,而不是所有的管理页面。有没有一种方法可以在我的小部件的构造函数中检测页面?如果不是的话,我怎样才能在我使用widget时包含脚本。php页面?