在这里,我添加了一个此隐藏输入<input type="hidden" name="action" value="your_form_task">
并将帖子URI更新为<?php echo esc_url( admin_url(\'admin-post.php\') ); ?>
.
这是最新的表格-
<form method="get" action="<?php echo esc_url( admin_url(\'admin-post.php\') ); ?>" name="emailForm" onsubmit="return validate()">
<div class="form-group">
<label for="name">Name<span id="req">*</span></label><br>
<input type="text" class="form-control" id="name" name="name" placeholder="Quantum Management" value="">
</div>
<div class="form-group">
<label for="tel">Phone Number<span id="reqTel">*</span></label><br>
<input type="text" class="form-control" id="tel" name="tel" placeholder="(999) 123-4567" value="" >
</div>
<div class="form-group">
<label for="email">Email<span id="reqEmail">*</span></label><br>
<input type="text" class="form-control" id="email" name="email" placeholder="[email protected]" value="" >
</div>
<div class="form-group">
<label for="questions">Questions<span id="reqQuest">*</span></label><br>
<textarea class="form-control" rows="7" cols="8" id="questions" name="questions" placeholder="Questions" ></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn btn-default" name="submit" value="yes">Submit</button>
</div>
<input type="hidden" name="action" value="your_form_task">
</form>
请注意,这非常重要。下面是一个函数,您可以在其中放置逻辑来处理表单数据-
function the_dramatist_form_post_to_admin() {
/**
* At this point, $_GET/$_POST variable are available
*
* We can do our normal processing here
*/
// Sanitize the POST field
// Generate email content
// Send to appropriate email
// Or do whatever you want to do.
}
add_action( \'admin_post_nopriv_your_form_task\', \'the_dramatist_form_post_to_admin\' );
add_action( \'admin_post_your_form_task\', \'the_dramatist_form_post_to_admin\' );
听着,还有一件重要的事
admin_post_nopriv_
和
admin_post_
我已经把
your_form_task
使用输入名称在表单中声明为隐藏输入值的字符串
action
. 它实际上是指向要在此函数中提交的表单。和
admin_post_nopriv_{$action}
对给定操作的未经身份验证的管理员post请求激发,其中
admin_post_{$action}
对给定操作的经过身份验证的管理员post请求激发。在这里
$action
是
your_form_task
. 希望这有帮助。