我是否必须成为管理员才能向wp-admin / admin-post.php发出请求?

时间:2015-06-05 11:49:19

标签: php wordpress wordpress-plugin

我开发了一个自定义插件,当我以管理员身份登录时,一切正常。

我的插件从插件创建的自定义表单中收集详细信息。提交表单后,它会向admin-post.php发送POST请求。这在登录时工作正常。

当我退出并以普通用户身份使用网站时,表单提交只会加载一个空白页。

这是我的代码:

add_action('admin_post_loan_app_form', function() {

    if(!isset($_POST['app_number']) || empty($_POST['app_number']))
    {
         redirectToFormWithError(ERROR_EMPTY_APP_NUMBER);
    }

    $_SESSION['lnloans']['app_number'] = $_POST['app_number'];
    $_SESSION['lnloans']['page'] = LOAN_DETAILS_FORM;

    redirectToForm();
});

如何允许任何人发送帖子请求而不仅仅是管理员?

1 个答案:

答案 0 :(得分:0)

确保您使用admin_post_nopriv_*作为your post action?因为that is what you need to do to作为未经身份验证的用户发布。即:

add_action('admin_post_nopriv_loan_app_form', function() { […]

作为辅助解决方案,如果可能,请考虑使用XML-RPC WordPress API发布数据。