访客用户的ADMIN_POST等效项?

时间:2017-02-26 作者:BackSlash

我设法创建了一个视图,通过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请求。

是否有针对来宾用户的等效项?我需要把这份表格放在公共页面上,这样任何人都可以提交表格。

这可能吗?

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

如果你看admin-post.php, 有一张支票wp_validate_auth_cookie() 不是用户是否是管理员。因此,任何拥有有效授权cookie的人都会触发"admin_post_{$action}"

如果用户没有有效的授权cookie,则会触发WP"admin_post_nopriv_{$action}".

相关推荐

Call another page in forms

我正在为WordPress插件做一些练习。在插件中,我正在处理一个表单,我需要的是在提交时调用另一个页面。我试过了,但似乎什么都没用。<form method = \"Post\" action = \"some_file.php\"> </form>