'Table', 'plural' => 'Tables', 'ajax' => false, ]); $this->dbManager = new AFES_DbManager(); } public function no_items() { esc_html_e('No table found.', 'affieasy'); } function get_columns() { return [ 'id' => esc_html__('Id', 'affieasy'), 'name' => esc_html__('Name', 'affieasy') ]; } function column_id($item) { $id = $item['id']; $nonce = wp_create_nonce( 'my-nonce' ); // $urlEdit = 'admin.php?page=affieasy-table&action=edit-table&id='.$id.'&_wpnonce='.$nonce; $urlEdit = 'admin.php?page=affieasy-table&action=edit-table&id='.$id; $urlDuplicate = 'admin.php?page=affieasy-table&action=duplicate-table&id='.$id.'&_wpnonce='.$nonce; $urlDelete = 'admin.php?page=affieasy-table&action=delete-table&id='.$id.'&_wpnonce='.$nonce; return sprintf('%1$s %2$s', $item['id'], $this->row_actions(array( 'edit' => sprintf('' . esc_html__('Edit', 'affieasy') . ''), 'duplicate' => sprintf('' . esc_html__('Duplicate', 'affieasy') . ''), 'delete' => sprintf('' . esc_html__('Delete', 'affieasy') . '') )) ); } function column_default($item, $column_name) { return stripslashes($item[$column_name]); } public function prepare_items() { $per_page = AFES_Constants::ITEMS_PER_PAGE; $total_items = $this->dbManager->get_table_count(TABLE_TABLE); $data = $this->dbManager->get_table_page($this->get_pagenum(), $per_page); $this->items = $data; $this->_column_headers = array($this->get_columns(), array(), array()); $this->set_pagination_args(array( 'total_items' => $total_items, 'per_page' => $per_page, 'total_pages' => ceil($total_items / $per_page) )); } }