WP_Privacy_Requests_Table::prepare_items()

In this article

Prepares items to output.

Source

public function prepare_items() {	$this->items = array();	$posts_per_page = $this->get_items_per_page( $this->request_type . '_requests_per_page' );	$args = array(	'post_type' => $this->post_type,	'post_name__in' => array( $this->request_type ),	'posts_per_page' => $posts_per_page,	'offset' => isset( $_REQUEST['paged'] ) ? max( 0, absint( $_REQUEST['paged'] ) - 1 ) * $posts_per_page : 0,	'post_status' => 'any',	's' => isset( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : '',	);	$orderby_mapping = array(	'requester' => 'post_title',	'requested' => 'post_date',	);	if ( isset( $_REQUEST['orderby'] ) && isset( $orderby_mapping[ $_REQUEST['orderby'] ] ) ) {	$args['orderby'] = $orderby_mapping[ $_REQUEST['orderby'] ];	}	if ( isset( $_REQUEST['order'] ) && in_array( strtoupper( $_REQUEST['order'] ), array( 'ASC', 'DESC' ), true ) ) {	$args['order'] = strtoupper( $_REQUEST['order'] );	}	if ( ! empty( $_REQUEST['filter-status'] ) ) {	$filter_status = isset( $_REQUEST['filter-status'] ) ? sanitize_text_field( $_REQUEST['filter-status'] ) : '';	$args['post_status'] = $filter_status;	}	$requests_query = new WP_Query( $args );	$requests = $requests_query->posts;	foreach ( $requests as $request ) {	$this->items[] = wp_get_user_request( $request->ID );	}	$this->items = array_filter( $this->items );	$this->set_pagination_args(	array(	'total_items' => $requests_query->found_posts,	'per_page' => $posts_per_page,	)	); } 

Changelog

VersionDescription
5.1.0Added support for column sorting.
4.9.6Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.