public function save_player_meta($post_id, $post) { if (isset($_POST['sp_team']) && is_array($_POST['sp_team'])) { $players = array(); foreach ($_POST['sp_team'] as $player) { $players[] = array(0, $player); } sp_update_post_meta_recursive($post_id, 'sp_player', $players); } }
/** * Save meta boxes data */ public static function save($post_id, $post) { // Competition & Season wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_league', 0), 'sp_league'); wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_season', 0), 'sp_season'); // Rounds $rounds = sp_array_value($_POST, 'sp_rounds', 1); if ($rounds < 1) { $rounds = 1; } elseif ($rounds > 6) { $rounds = 6; } update_post_meta($post_id, 'sp_rounds', $rounds); // Winner update_post_meta($post_id, 'sp_winner', sp_array_value($_POST, 'sp_winner')); // Data update_post_meta($post_id, 'sp_labels', sp_array_value($_POST, 'sp_labels', array())); $events = sp_array_value($_POST, 'sp_event', array()); ksort($events); update_post_meta($post_id, 'sp_events', $events); sp_update_post_meta_recursive($post_id, 'sp_event', $events); }
/** * Save meta box data */ public static function save($post_id, $post) { sp_update_post_meta_recursive($post_id, 'sp_staff', sp_array_value($_POST, 'sp_staff', array())); }
function prosports_update_post_meta_recursive($post_id, $meta_key, $meta_value) { return sp_update_post_meta_recursive($post_id, $meta_key, $meta_value); }
/** * Save meta box data */ public static function save($post_id, $post) { update_post_meta($post_id, 'sp_select', sp_array_value($_POST, 'sp_select', array())); sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); }
/** * Save meta box data */ public static function save($post_id, $post) { update_post_meta($post_id, 'sp_number', sp_array_value($_POST, 'sp_number', '')); update_post_meta($post_id, 'sp_nationality', sp_array_value($_POST, 'sp_nationality', '')); sp_update_post_meta_recursive($post_id, 'sp_current_team', sp_array_value($_POST, 'sp_current_team', array())); sp_update_post_meta_recursive($post_id, 'sp_past_team', sp_array_value($_POST, 'sp_past_team', array())); sp_update_post_meta_recursive($post_id, 'sp_team', array_merge(array(sp_array_value($_POST, 'sp_current_team', array())), sp_array_value($_POST, 'sp_past_team', array()))); }
/** * Save meta box data */ public static function save($post_id, $post) { sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); $tabs = apply_filters('sportspress_event_team_tabs', array('sp_player', 'sp_staff')); if ($tabs) { foreach ($tabs as $post_type) { sp_update_post_meta_recursive($post_id, $post_type, sp_array_value($_POST, $post_type, array())); } } }
/** * Save meta box data */ public static function save($post_id, $post) { wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_role', null), 'sp_role', false); update_post_meta($post_id, 'sp_nationality', sp_array_value($_POST, 'sp_nationality', '')); sp_update_post_meta_recursive($post_id, 'sp_current_team', sp_array_value($_POST, 'sp_current_team', array())); sp_update_post_meta_recursive($post_id, 'sp_past_team', sp_array_value($_POST, 'sp_past_team', array())); sp_update_post_meta_recursive($post_id, 'sp_team', array_merge(array(sp_array_value($_POST, 'sp_current_team', array())), sp_array_value($_POST, 'sp_past_team', array()))); }
/** * Save team meta box */ public static function team_save($post_id, $post) { sp_update_post_meta_recursive($post_id, 'sp_directory', sp_array_value($_POST, 'sp_directory', array())); }
/** * Sample data * * Adds sample SportsPress data * * @access public */ public static function insert_posts() { // Initialize inserted ids array $inserted_ids = array('sp_league' => array(), 'sp_season' => array(), 'sp_venue' => array(), 'sp_position' => array(), 'sp_role' => array(), 'sp_event' => array(), 'sp_calendar' => array(), 'sp_team' => array(), 'sp_table' => array(), 'sp_player' => array(), 'sp_list' => array(), 'sp_staff' => array()); // Terms to insert $taxonomies = array(); // Competitions $taxonomies['sp_league'] = array(_x('Primary League', 'example', 'sportspress'), _x('Secondary League', 'example', 'sportspress')); // Seasons $current_year = date('Y'); $current_year = intval($current_year); $taxonomies['sp_season'] = array($current_year - 1, $current_year, $current_year + 1); // Venues $taxonomies['sp_venue'] = array(array('name' => 'Bentleigh', 'meta' => array('sp_address' => '12A Bolinda Street, Bentleigh VIC 3204, Australia', 'sp_latitude' => -37.920537, 'sp_longitude' => 145.043199)), array('name' => 'Essendon', 'meta' => array('sp_address' => '74 Napier Street, Essendon VIC 3040, Australia', 'sp_latitude' => -37.75194, 'sp_longitude' => 144.919549)), array('name' => 'Kensington', 'meta' => array('sp_address' => '50 Altona Street, Kensington, Victoria, Australia', 'sp_latitude' => -37.797789, 'sp_longitude' => 144.924709))); // Jobs $taxonomies['sp_role'] = array(_X('Coach', 'example', 'sportspress')); /* * Insert terms */ foreach ($taxonomies as $taxonomy => $terms) { foreach ($terms as $term) { // Determine if term is array or name string if (is_array($term)) { $name = $term['name']; } else { $name = $term; } // Insert term $inserted = wp_insert_term($name, $taxonomy, array('description' => $name, 'slug' => sanitize_title($name))); // Add meta to term if is array if (!is_wp_error($inserted) && is_array($term) && array_key_exists('meta', $term)) { $t_id = sp_array_value($inserted, 'term_id', 1); $meta = sp_array_value($term, 'meta'); update_option("taxonomy_{$t_id}", $meta); // Add to inserted ids array $inserted_ids[$taxonomy][] = $t_id; } } } // Create sample content $sample_content = _x('This is an example %1$s. As a new SportsPress user, you should go to <a href=\\"%3$s\\">your dashboard</a> to delete this %1$s and create new %2$s for your content. Have fun!', 'example', 'sportspress'); // Define teams $teams = array(array('name' => 'Bluebirds', 'abbreviation' => 'BENT', 'url' => 'http://tboy.co/bluebirds'), array('name' => 'Eagles', 'abbreviation' => 'ESS', 'url' => 'http://tboy.co/eagles'), array('name' => 'Kangaroos', 'abbreviation' => 'KENS', 'url' => 'http://tboy.co/kangaroos')); // Define players $players = array('Mario Bellucci', 'Aiden Leggatt', 'Seth Clemens', 'Mitchell Childe', 'Daniel Benn', 'Archie Stead', 'Finn Rosetta', 'Koby Brough', 'Blake Bannan', 'Hugo Stones', 'Tristian Holme', 'Mason Ewing'); // Define staff $staff = array('Bobby Brown'); // Define event videos $event_videos = array('https://www.youtube.com/watch?v=xNkf2LYckI0', 'https://www.youtube.com/watch?v=sIrjQyuwteM', 'https://www.youtube.com/watch?v=xSGxuTGVQYE'); // Get countries $countries = new SP_Countries(); /* * Insert teams */ foreach ($teams as $index => $team) { $post['post_title'] = $team['name']; $post['post_type'] = 'sp_team'; $post['post_status'] = 'publish'; $post['post_content'] = sprintf($sample_content, __('Team', 'sportspress'), __('Teams', 'sportspress'), admin_url()); // Terms $post['tax_input'] = array(); $taxonomies = array('sp_league', 'sp_season'); foreach ($taxonomies as $taxonomy) { $post['tax_input'][$taxonomy] = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids')); } $post['tax_input']['sp_venue'] = get_terms('sp_venue', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1, 'offset' => $index)); // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_team'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Update meta update_post_meta($id, 'sp_abbreviation', $team['abbreviation']); update_post_meta($id, 'sp_url', $team['url']); } // Get columns $columns = array('team'); $args = array('post_type' => array('sp_performance', 'sp_statistic'), 'posts_per_page' => 2, 'orderby' => 'menu_order', 'order' => 'ASC'); $vars = get_posts($args); foreach ($vars as $var) { $columns[] = $var->post_name; } /* * Insert players */ foreach ($players as $index => $name) { $post['post_title'] = $name; $post['post_type'] = 'sp_player'; $post['post_status'] = 'publish'; $post['post_content'] = sprintf($sample_content, __('Player', 'sportspress'), __('Players', 'sportspress'), admin_url()); // Terms $post['tax_input'] = array(); $taxonomies = array('sp_league', 'sp_season'); foreach ($taxonomies as $taxonomy) { $post['tax_input'][$taxonomy] = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids')); } $taxonomies = array('sp_position'); foreach ($taxonomies as $taxonomy) { $terms = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'slug', 'number' => 1, 'offset' => $index % 4)); if ($terms && !is_wp_error($terms)) { $post['tax_input'][$taxonomy] = $terms; } } // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_player'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Calculate meta $nationality = array_rand($countries->countries); $team_index = floor($index / 4); $past_team_index = ($team_index + 1) % 3; $current_team = sp_array_value($inserted_ids['sp_team'], $team_index, 0); $past_team = sp_array_value($inserted_ids['sp_team'], $past_team_index, 0); $primary_league = reset($post['tax_input']['sp_league']); $season_teams = $season_stats = array(); foreach ($post['tax_input']['sp_season'] as $season_index => $season_id) { $season_stats[$season_id] = array(); if ($season_index == 0) { $season_teams[$season_id] = $past_team; } else { $season_teams[$season_id] = $current_team; if ($season_index == 1) { foreach ($vars as $var) { $season_stats[$season_id][$var->post_name] = rand(1, 10); } } } } $player_stats = array($primary_league => $season_stats); $player_leagues = array($primary_league => $season_teams); // Update meta update_post_meta($id, 'sp_columns', $columns); update_post_meta($id, 'sp_number', $index + 1); update_post_meta($id, 'sp_nationality', $nationality); update_post_meta($id, 'sp_current_team', $current_team); update_post_meta($id, 'sp_past_team', $past_team); update_post_meta($id, 'sp_leagues', $player_leagues); update_post_meta($id, 'sp_statistics', $player_stats); sp_update_post_meta_recursive($id, 'sp_team', array($current_team, $past_team)); } // Get columns $columns = array(); $args = array('post_type' => 'sp_performance', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC'); $performance_posts = get_posts($args); foreach ($performance_posts as $performance_post) { if (sizeof($columns) >= 5) { continue; } $columns[] = $performance_post->post_name; } $args = array('post_type' => 'sp_result', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC'); $result_posts = get_posts($args); $args = array('post_type' => 'sp_outcome', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC'); $outcome_posts = get_posts($args); /* * Insert staff */ foreach ($staff as $index => $name) { $post['post_title'] = $name; $post['post_type'] = 'sp_staff'; $post['post_status'] = 'publish'; $post['post_content'] = sprintf($sample_content, __('Staff', 'sportspress'), __('Staff', 'sportspress'), admin_url()); // Terms $post['tax_input'] = array(); $taxonomies = array('sp_league', 'sp_season'); foreach ($taxonomies as $taxonomy) { $post['tax_input'][$taxonomy] = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids')); } $taxonomies = array('sp_role'); foreach ($taxonomies as $taxonomy) { $terms = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'slug', 'number' => 1, 'offset' => $index % 4)); $post['tax_input'][$taxonomy] = $terms; } // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_staff'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Calculate meta $team_index = floor($index / 4); $past_teams = $inserted_ids['sp_team']; $current_team = sp_array_value($past_teams, $team_index, 0); unset($past_teams[$team_index]); // Update meta update_post_meta($id, 'sp_columns', $columns); update_post_meta($id, 'sp_number', $index + 1); update_post_meta($id, 'sp_nationality', 'aus'); update_post_meta($id, 'sp_current_team', $current_team); sp_update_post_meta_recursive($id, 'sp_past_team', $past_teams); sp_update_post_meta_recursive($id, 'sp_team', $inserted_ids['sp_team']); } /* * Insert events */ for ($index = 0; $index < 6; $index++) { // Determine team index and post status $i = $index % 3; if ($index < 3) { $post_status = 'publish'; $post_year = $current_year - 1; $event_season = get_terms('sp_season', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1)); } else { $post_status = 'future'; $post_year = $current_year + 1; $event_season = get_terms('sp_season', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'DESC', 'number' => 1)); } // The away team should be the next inserted team, or the first if this is the last event if ($i == 2) { $away_index = 0; } else { $away_index = $i + 1; } $post = array('post_title' => $teams[$i]['name'] . ' ' . get_option('sportspress_event_teams_delimiter', 'vs') . ' ' . $teams[$away_index]['name'], 'post_type' => 'sp_event', 'post_status' => $post_status, 'post_content' => sprintf($sample_content, __('Event', 'sportspress'), __('Events', 'sportspress'), admin_url()), 'post_date' => $post_year . '-' . sprintf('%02d', 3 + $i * 3) . '-' . sprintf('%02d', 5 + $i * 10) . ' ' . (18 + $i) . ':00:00', 'tax_input' => array('sp_league' => get_terms('sp_league', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1)), 'sp_season' => $event_season, 'sp_venue' => get_terms('sp_venue', array('hide_empty' => 0, 'fields' => 'ids', 'orderby' => 'id', 'order' => 'ASC', 'number' => 1, 'offset' => $i)))); // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_event'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Calculate home and away team ids $home_team_index = $i % 3; $away_team_index = ($i + 1) % 3; $home_team_id = sp_array_value($inserted_ids['sp_team'], $home_team_index, 0); $away_team_id = sp_array_value($inserted_ids['sp_team'], $away_team_index, 0); $event_teams = array($home_team_id, $away_team_id); // Initialize meta $event_players = array(0); $performance = $results = array(); if ($home_team_id) { // Add home team player performance $performance[$home_team_id] = array(); for ($j = 0; $j < 4; $j++) { $player_id = sp_array_value($inserted_ids['sp_player'], $home_team_index * 4 + $j); $event_players[] = $player_id; $player_performance = array(); foreach ($performance_posts as $performance_post) { $player_performance[$performance_post->post_name] = rand(0, 1); } $performance[$home_team_id][$player_id] = $player_performance; } // Add home team results $results[$home_team_id] = array(); foreach ($result_posts as $result_post_index => $result_post) { $results[$home_team_id][$result_post->post_name] = 1 + $result_post_index; } $outcome = reset($outcome_posts); if (is_object($outcome)) { $results[$home_team_id]['outcome'] = array($outcome->post_name); } } // Separate teams with zero $event_players[] = 0; if ($away_team_id) { $performance[$away_team_id] = array(); for ($j = 0; $j < 4; $j++) { $player_id = sp_array_value($inserted_ids['sp_player'], $away_team_index * 4 + $j); $event_players[] = $player_id; $player_performance = array(); foreach ($performance_posts as $performance_post) { $player_performance[$performance_post->post_name] = rand(0, 1); } $performance[$away_team_id][$player_id] = $player_performance; } // Add away team results $results[$away_team_id] = array(); foreach ($result_posts as $result_post) { $results[$away_team_id][$result_post->post_name] = '0'; } $outcome = next($outcome_posts); if (is_object($outcome)) { $results[$away_team_id]['outcome'] = array($outcome->post_name); } } if ('publish' === $post_status) { // Swap results for last event only if ($i == 2) { $k = array_keys($results); $v = array_values($results); $rv = array_reverse($v); $results = array_combine($k, $rv); } // Update future post meta update_post_meta($id, 'sp_players', $performance); update_post_meta($id, 'sp_results', $results); } // Update general meta sp_update_post_meta_recursive($id, 'sp_team', $event_teams); sp_update_post_meta_recursive($id, 'sp_player', $event_players); update_post_meta($id, 'sp_columns', $columns); update_post_meta($id, 'sp_format', 'league'); update_post_meta($id, 'sp_video', $event_videos[$i]); } /* * Insert calendar */ $post = array('post_title' => _x('Fixtures & Results', 'example', 'sportspress'), 'post_type' => 'sp_calendar', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('Calendar', 'sportspress'), __('Calendars', 'sportspress'), admin_url())); // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_calendar'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Define columns $columns = array('event', 'time', 'article'); // Update meta update_post_meta($id, 'sp_format', 'list'); update_post_meta($id, 'sp_status', 'any'); update_post_meta($id, 'sp_date', 0); update_post_meta($id, 'sp_team', 0); update_post_meta($id, 'sp_order', 'ASC'); update_post_meta($id, 'sp_columns', $columns); /* * Insert league table */ $leagues = get_terms('sp_league', array('hide_empty' => 0, 'orderby' => 'id', 'order' => 'ASC', 'number' => 1)); $league = reset($leagues); $seasons = get_terms('sp_season', array('hide_empty' => 0, 'orderby' => 'id', 'order' => 'ASC', 'number' => 1)); $season = reset($seasons); $post = array('post_title' => $league->name . ' ' . $season->name, 'post_type' => 'sp_table', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('League Table', 'sportspress'), __('League Tables', 'sportspress'), admin_url()), 'tax_input' => array('sp_league' => $league->term_id, 'sp_season' => $season->term_id)); // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_table'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Get columns $columns = array(); $args = array('post_type' => 'sp_column', 'posts_per_page' => 8, 'orderby' => 'menu_order', 'order' => 'ASC'); $column_posts = get_posts($args); foreach ($column_posts as $column_post) { $columns[] = $column_post->post_name; } // Update meta sp_update_post_meta_recursive($id, 'sp_team', $inserted_ids['sp_team']); update_post_meta($id, 'sp_columns', $columns); update_post_meta($id, 'sp_highlight', reset($inserted_ids['sp_team'])); /* * Insert player list for each team */ foreach ($inserted_ids['sp_team'] as $index => $team_id) { $post = array('post_title' => get_the_title($team_id) . ' ' . _x('Roster', 'example', 'sportspress'), 'post_type' => 'sp_list', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('Player List', 'sportspress'), __('Player Lists', 'sportspress'), admin_url())); // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_list'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Get players from team $list_players = array_slice($inserted_ids['sp_player'], $index * 4, 4); // Get columns $columns = array(); $args = array('post_type' => array('sp_metric'), 'posts_per_page' => 2, 'orderby' => 'menu_order', 'order' => 'ASC'); $column_posts = get_posts($args); foreach ($column_posts as $column_post) { $columns[] = $column_post->post_name; } // Update meta update_post_meta($id, 'sp_format', 'list'); sp_update_post_meta_recursive($id, 'sp_player', $list_players); update_post_meta($id, 'sp_columns', $columns); update_post_meta($id, 'sp_grouping', 'position'); update_post_meta($id, 'sp_orderby', 'name'); update_post_meta($id, 'sp_order', 'ASC'); update_post_meta($id, 'sp_team', $team_id); } /* * Insert player list for player ranking */ $post = array('post_title' => _x('Player Ranking', 'example', 'sportspress'), 'post_type' => 'sp_list', 'post_status' => 'publish', 'post_content' => sprintf($sample_content, __('Player List', 'sportspress'), __('Player Lists', 'sportspress'), admin_url())); // Insert post $id = wp_insert_post($post); // Add to inserted ids array $inserted_ids['sp_list'][] = $id; // Flag as sample update_post_meta($id, '_sp_sample', 1); // Get columns $columns = array('team'); $performance_post = reset($performance_posts); if (is_object($performance_post)) { $columns[] = $performance_post->post_name; } // Update meta update_post_meta($id, 'sp_format', 'list'); sp_update_post_meta_recursive($id, 'sp_player', $inserted_ids['sp_player']); update_post_meta($id, 'sp_columns', $columns); update_post_meta($id, 'sp_grouping', '0'); update_post_meta($id, 'sp_order', 'DESC'); if (is_object($performance_post)) { update_post_meta($id, 'sp_orderby', $performance_post->post_name); } /* * Update player list and league table per team */ foreach ($inserted_ids['sp_team'] as $index => $team_id) { update_post_meta($team_id, 'sp_list', sp_array_value($inserted_ids['sp_list'], $index, 0)); update_post_meta($team_id, 'sp_table', sp_array_value($inserted_ids['sp_table'], 0)); } }
/** * Save meta box data */ public static function save($post_id, $post) { update_post_meta($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); update_post_meta($post_id, 'sp_grouping', sp_array_value($_POST, 'sp_grouping', array())); update_post_meta($post_id, 'sp_orderby', sp_array_value($_POST, 'sp_orderby', array())); update_post_meta($post_id, 'sp_order', sp_array_value($_POST, 'sp_order', array())); update_post_meta($post_id, 'sp_select', sp_array_value($_POST, 'sp_select', array())); sp_update_post_meta_recursive($post_id, 'sp_player', sp_array_value($_POST, 'sp_player', array())); }
/** * Save meta box data */ public static function save($post_id, $post) { update_post_meta($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_league', 0), 'sp_league'); wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_season', 0), 'sp_season'); update_post_meta($post_id, 'sp_grouping', sp_array_value($_POST, 'sp_grouping', array())); update_post_meta($post_id, 'sp_orderby', sp_array_value($_POST, 'sp_orderby', array())); update_post_meta($post_id, 'sp_order', sp_array_value($_POST, 'sp_order', array())); sp_update_post_meta_recursive($post_id, 'sp_player', sp_array_value($_POST, 'sp_player', array())); }
/** * Save meta box data */ public static function save($post_id, $post) { wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_league', 0), 'sp_league'); wp_set_post_terms($post_id, sp_array_value($_POST, 'sp_season', 0), 'sp_season'); sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); }
/** * Save meta box data */ public static function save($post_id, $post) { update_post_meta($post_id, 'sp_caption', esc_attr(sp_array_value($_POST, 'sp_caption', 0))); update_post_meta($post_id, 'sp_status', sp_array_value($_POST, 'sp_status', 0)); update_post_meta($post_id, 'sp_date', sp_array_value($_POST, 'sp_date', 0)); update_post_meta($post_id, 'sp_date_from', sp_array_value($_POST, 'sp_date_from', null)); update_post_meta($post_id, 'sp_date_to', sp_array_value($_POST, 'sp_date_to', null)); update_post_meta($post_id, 'sp_day', sp_array_value($_POST, 'sp_day', null)); update_post_meta($post_id, 'sp_orderby', sp_array_value($_POST, 'sp_orderby', null)); update_post_meta($post_id, 'sp_order', sp_array_value($_POST, 'sp_order', null)); sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); }
/** * Save meta box data */ public static function save($post_id, $post) { sp_update_post_meta_recursive($post_id, 'sp_team', sp_array_value($_POST, 'sp_team', array())); $tabs = array(); $sections = get_option('sportspress_event_performance_sections', -1); if (-1 == $sections) { sp_update_post_meta_recursive($post_id, 'sp_player', sp_array_value($_POST, 'sp_player', array())); } else { $players = array_merge(sp_array_value($_POST, 'sp_offense', array()), sp_array_value($_POST, 'sp_defense', array())); sp_update_post_meta_recursive($post_id, 'sp_offense', sp_array_value($_POST, 'sp_offense', array())); sp_update_post_meta_recursive($post_id, 'sp_defense', sp_array_value($_POST, 'sp_defense', array())); sp_update_post_meta_recursive($post_id, 'sp_player', $players); } sp_update_post_meta_recursive($post_id, 'sp_staff', sp_array_value($_POST, 'sp_staff', array())); }
/** * Save meta boxes data */ public static function save($post_id) { // Format update_post_meta($post_id, 'sp_format', sp_array_value($_POST, 'sp_format', 'bracket')); // Rounds $limit = intval(get_option('sportspress_tournament_rounds', '6')); $rounds = sp_array_value($_POST, 'sp_rounds', 1); if ($rounds < 1) { $rounds = 1; } elseif ($rounds > $limit) { $rounds = $limit; } update_post_meta($post_id, 'sp_rounds', $rounds); // Winner update_post_meta($post_id, 'sp_winner', sp_array_value($_POST, 'sp_winner')); // Labels update_post_meta($post_id, 'sp_labels', sp_array_value($_POST, 'sp_labels', array())); // Get main result option $main_result = sp_get_main_result_option(); // Get terms $tax_input = sp_array_value($_POST, 'tax_input', array()); $leagues = array_map('intval', sp_array_value($tax_input, 'sp_league', array())); $seasons = array_map('intval', sp_array_value($tax_input, 'sp_season', array())); // Events $events = sp_array_value($_POST, 'sp_event', array()); ksort($events); $event_ids = array(); foreach ($events as $event) { // Get details $id = sp_array_value($event, 'id', 0); $teams = sp_array_value($event, 'teams', array()); $results = sp_array_value($event, 'results', array()); $date = sp_array_value($event, 'date', ''); $h = sp_array_value($event, 'hh', ''); $m = sp_array_value($event, 'mm', '00'); // Update or add new event if (strlen($date)) { // Add time to date if given if (strlen($h)) { $h = substr(str_pad($h, 2, '0', STR_PAD_LEFT), 0, 2); $m = substr(str_pad($m, 2, '0', STR_PAD_LEFT), 0, 2); $time = $h . ':' . $m; $date .= ' ' . trim($time); } // Generate title $team_names = array(); foreach ($teams as $team) { if (!$team) { continue; } $team_names[] = get_the_title($team); } $new_title = implode(' ' . get_option('sportspress_event_teams_delimiter', 'vs') . ' ', $team_names); // Update or add new event if ($id) { $post = array('ID' => $id, 'post_date' => $date); // Update title if not set $title = get_the_title($id); if (!strlen($title)) { $post['post_title'] = $new_title; wp_update_post($post); } } else { $args = array('post_type' => 'sp_event', 'post_title' => $new_title, 'post_status' => 'publish', 'post_date' => $date); $id = wp_insert_post($args); // Update league if (array_filter($leagues)) { wp_set_object_terms($id, $leagues, 'sp_league', false); } // Update season if (array_filter($seasons)) { wp_set_object_terms($id, $seasons, 'sp_season', false); } } // Update teams delete_post_meta($id, 'sp_team'); foreach ($teams as $team) { add_post_meta($id, 'sp_team', $team); } // Update results if (sizeof($results) && sizeof($teams)) { $results = array_combine($teams, $results); if ($results) { sp_update_main_results($id, $results); } } // Update event format update_post_meta($id, 'sp_format', 'tournament'); } // Add to event IDs $event_ids[] = $id; } update_post_meta($post_id, 'sp_events', $events); sp_update_post_meta_recursive($post_id, 'sp_event', $event_ids); }