/** * Prepare list items. * * @since 1.0.0 */ public function prepare_items() { $this->_column_headers = array($this->get_columns(), array(), $this->get_sortable_columns()); $per_page = apply_filters('ms_helper_listtable_member_items_per_page', self::DEFAULT_PAGE_SIZE); $current_page = $this->get_pagenum(); $args = array('posts_per_page' => $per_page, 'offset' => ($current_page - 1) * $per_page); if (isset($_REQUEST['membership_id'])) { $args['membership_id'] = $_REQUEST['membership_id']; } if (!empty($_REQUEST['s'])) { $args['s'] = $_REQUEST['s']; $this->search_string = $args['s']; $args['posts_per_page'] = -1; $args['number'] = false; $args['offset'] = 0; } // Prepare order by statement. if (!empty($_REQUEST['orderby']) && !empty($_REQUEST['order'])) { $args['orderby'] = $_REQUEST['orderby']; $args['order'] = $_REQUEST['order']; } $total_items = MS_Model_Event::get_event_count($args); $this->items = MS_Model_Event::get_events($args); $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page)); do_action('ms_helper_listtable_event_prepare_items', $args, $this); }