所有WordPress AJAX调用都应该由admin-ajax.php
, 它们是发生在前端还是后端。要授予访问权限,您必须为AJAX调用注册CallbackFunction,请将这些行添加到您的文件中:
add_action( \'wp_ajax_prefix_update_post\', \'prefix_update_post\' );
add_action( \'wp_ajax_nopriv_prefix_update_post\', \'prefix_update_post\' );
请确保在
prefix_update_post
函数,作为非loggedin用户,不应允许发送草稿。
因此,这一行应该做到:
function prefix_update_post() {
if ( current_user_can( \'edit_post\' ) ) {
// your goodies here
}
}
如果一切正常,那么您可能需要通过AJAX调用发送用户ID,并检查用户是否具有正确的权限(
get_user_by(\'id\', $userid)
)