class Donations extends WP_List_Table { function get_columns() { return array('progress_name' => 'Name', 'campaign_name' => 'Campaign', 'progress_type' => 'Type', 'progress_id' => 'Progress Id'); } function prepare_items() { $this->_column_headers = array($this->get_columns(), array('progress_id'), $this->get_sortable_columns()); global $wpdb; $this->items = $result = $wpdb->get_results("select progress_name,coalesce(campaign.name,'Default') campaign_name,progress_type,progress_id\n from " . SMART_DONATIONS_PROGRESS_TABLE . " progress\n left join " . SMART_DONATIONS_CAMPAIGN_TABLE . " campaign\n on campaign.campaign_id=progress.campaign_id "); } function get_sortable_columns() { } function column_default($item, $column_name) { return $item->{$column_name}; } function column_progress_name($item) { $actions = array('edit' => sprintf('<a href="?page=%s&$progress_id=%s&action=%s">Edit</a>', $_REQUEST['page'], $item->progress_id, 'edit'), 'delete' => sprintf('<a href="?page=%s&$progress_id=%s&action=%s">Delete</a>', $_REQUEST['page'], $item->progress_id, 'delete')); return sprintf('%1$s %2$s', $item->progress_name, $this->row_actions($actions)); } } $donationList = new Donations(); $donationList->prepare_items(); $donationList->display(); ?>