?> )</span></a> | <a class="<?php echo isset($_GET['status']) && $_GET['status'] == 'inactive' ? 'nnr-current-tab' : 'nnr-tab'; ?> " href="<?php echo admin_url() . 'admin.php?page=' . self::$dashboard_page; ?> &status=inactive"> <?php _e('Inactive', self::$text_domain); ?> <span class="<?php echo self::$prefix_dash . 'count'; ?> ">(<?php echo count($data_manager->get_inactive_data()); ?> )</span></a> <?php do_action('nnr_data_man_after_view_status_controls_v1'); do_action('nnr_data_man_before_view_table_v1'); ?> <!-- Show the table --> <form method="GET"> <?php $data_manager_table = new NNR_Data_Manager_List_Table_v1(self::$data_manager_table_name, array('prefix' => self::$prefix_dash, 'text_domain' => self::$text_domain, 'dashboard_page' => self::$dashboard_page, 'add_edit_page' => self::$add_edit_page, 'stats_page' => self::$stats_page, 'stats_table_name' => self::$stats_table_name)); $data_manager_table->prepare_items(); $data_manager_table->display();
/** * Prepares data for display. * * @since 1.0.0 * * @param N/A * @return N/A */ function prepare_items() { do_action('nnr_data_man_before_table_prepare_items_v1'); $data_manager = new NNR_Data_Manager_v1($this->table_name); global $wpdb; $per_page = 50; $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); $current_page = $this->get_pagenum(); // All if (!isset($_GET['status'])) { $this->items = $data_manager->get_data(); } else { if (isset($_GET['status']) && $_GET['status'] == 'active') { $this->items = $data_manager->get_active_data(); } else { $this->items = $data_manager->get_inactive_data(); } } $this->items = apply_filters('nnr_data_man_table_items_v1', $this->items); $total_items = count($this->items); /** * The WP_List_Table class does not handle pagination for us, so we need * to ensure that the data is trimmed to only the current page. We can use * array_slice() to */ $data = apply_filters('nnr_data_man_table_data_v1', array_slice($this->items, ($current_page - 1) * $per_page, $per_page)); $this->set_pagination_args(apply_filters('nnr_data_man_table_set_pagination_args_v1', array('total_items' => $total_items, 'per_page' => $per_page, 'total_pages' => ceil($total_items / $per_page)))); do_action('nnr_data_man_after_table_prepare_items_v1'); }