-
Notifications
You must be signed in to change notification settings - Fork 75
Constructor
John P. Bloch edited this page Jul 14, 2014
·
3 revisions
The class constructor takes one argument that can change how your task behaves. The WP_Async_Task
class uses wp-admin/admin-post.php
to handle asynchronous requests. Like wp-admin/admin-ajax.php
, admin-post.php
generates the action to run from $_POST['action']
with 'admin_post_'
or 'admin_post_nopriv_'
prepended, depending on whether a user is logged in. Based on the constructor argument, async tasks will support logged out users, logged in users, or both. Here's how to specify:
<?php
// Assuming there's an async library called JPB_Task
$logged_out_task = new JPB_Task( WP_Async_Task::LOGGED_OUT );
$logged_in_task = new JPB_Task( WP_Async_Task::LOGGED_IN );
$both_task = new JPB_Task( WP_Async_Task::BOTH );
The default value is WP_Async_Task::BOTH
.
Of course, you can force one by overriding the constructor:
<?php
class JPB_Task extends WP_Async_Task {
public function __construct( $auth_level = 0 ) {
parent::__construct( parent::LOGGED_IN );
}
/*...*/
}