我设法创建了一个视图,通过admin_post_*
行动
这就是我所拥有的:
class MyPluginClass {
public function __construct() {
add_action(\'admin_post_formsbmt\', array($this, \'formSubmit\'));
}
public function formSubmit() {
// handle the post here
}
}
然后,以以下形式:
<form method="post" action="<?=admin_url(\'admin-post.php\')?>">
<input type="hidden" name="action" value="formsbmt">
[other inputs]
</form>
它可以工作,但这样用户必须是管理员才能执行POST请求。
是否有针对来宾用户的等效项?我需要把这份表格放在公共页面上,这样任何人都可以提交表格。
这可能吗?
最合适的回答,由SO网友:Nathan Johnson 整理而成
如果你看admin-post.php, 有一张支票wp_validate_auth_cookie()
不是用户是否是管理员。因此,任何拥有有效授权cookie的人都会触发"admin_post_{$action}"
钩
如果用户没有有效的授权cookie,则会触发WP"admin_post_nopriv_{$action}"
.