/** * Output the data metabox */ public static function data($post) { $directory = new SP_Staff_Directory($post); list($labels, $columns, $data) = $directory->data(true); $staff = get_post_meta($post->ID, 'sp_staff', true); self::table($labels, $columns, $data, $staff); }
<?php /** * Staff List * * @author ThemeBoy * @package SportsPress_Staff_Directories * @version 1.6 */ if (!defined('ABSPATH')) { exit; } // Exit if accessed directly $defaults = array('id' => get_the_ID(), 'title' => false, 'number' => -1, 'columns' => null, 'show_all_staff_link' => false, 'link_posts' => get_option('sportspress_link_staff', 'yes') == 'yes' ? true : false, 'link_phone' => get_option('sportspress_staff_link_phone', 'yes') == 'yes' ? true : false, 'link_email' => get_option('sportspress_staff_link_email', 'yes') == 'yes' ? true : false, 'sortable' => get_option('sportspress_enable_sortable_tables', 'yes') == 'yes' ? true : false, 'scrollable' => get_option('sportspress_enable_scrollable_tables', 'yes') == 'yes' ? true : false, 'paginated' => get_option('sportspress_directory_paginated', 'yes') == 'yes' ? true : false, 'rows' => get_option('sportspress_directory_rows', 10)); extract($defaults, EXTR_SKIP); $directory = new SP_Staff_Directory($id); if (isset($columns) && null !== $columns) { $directory->columns = $columns; } $data = $directory->data(); // The first row should be column labels $labels = $data[0]; // Remove the first row to leave us with the actual data unset($data[0]); $output = ''; $output .= '<div class="sp-table-wrapper">' . '<table class="sp-staff-directory sp-data-table' . ($sortable ? ' sp-sortable-table' : '') . ($scrollable ? ' sp-scrollable-table' : '') . ($paginated ? ' sp-paginated-table' : '') . '" data-sp-rows="' . $rows . '">' . '<thead>' . '<tr>'; foreach ($labels as $key => $label) { if (!is_array($columns) || $key == 'name' || in_array($key, $columns)) { $output .= '<th class="data-' . $key . '">' . $label . '</th>'; } }