コード例 #1
0
 /**
  * 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);
 }