示例#1
0
 function __construct($arguments)
 {
     global $wpdb;
     extract($arguments);
     // TODO: Require fields
     $this->key = $key;
     $this->name = $name;
     $this->table_id = piklist::slug($this->name);
     $this->column = $column;
     $this->columns = $columns;
     $this->classes = isset($classes) ? $classes : array('widefat', 'fixed');
     $this->sortable_columns = isset($sortable_columns) ? $sortable_columns : false;
     $this->actions = isset($actions) ? $actions : $this->actions;
     $this->per_page = isset($per_page) ? $per_page : 10;
     $this->ajax = isset($ajax) ? $ajax : false;
     $this->export = isset($export) ? $export : false;
     if (isset($data)) {
         $this->data = is_object($data) || is_array($data) ? piklist::object_to_array($data) : $wpdb->get_results($data, ARRAY_A);
         usort($this->data, array($this, 'data_sort'));
         $this->current_page = $this->get_pagenum();
         $this->total_items = count($this->data);
         // TODO: If sql use orderby
         // TODO: Implement offset in sql with current_page
     } else {
         $this->data = array();
         $this->current_page = 1;
         $this->total_items = 0;
     }
     parent::__construct(array('singular' => piklist::singularize($this->name), 'plural' => piklist::pluralize($this->name), 'ajax' => $this->ajax));
 }