Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
home
/
getwphos
/
www
/
ppine
/
wp-content
/
plugins
/
trx_addons
/
components
/
cpt
/
sport
/
File Content:
sport.competitions.php
<?php /** * ThemeREX Addons: Competitions support in the Sports Reviews Management * * @package ThemeREX Addons * @since v1.6.17 */ // Don't load directly if ( ! defined( 'TRX_ADDONS_VERSION' ) ) { exit; } // ----------------------------------------------------------------- // -- Custom post type registration // ----------------------------------------------------------------- // Define Custom post type and taxonomy constants if ( ! defined('TRX_ADDONS_CPT_COMPETITIONS_PT') ) define('TRX_ADDONS_CPT_COMPETITIONS_PT', trx_addons_cpt_param('competitions', 'post_type')); if ( ! defined('TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY') ) define('TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY', trx_addons_cpt_param('competitions', 'taxonomy')); // Register post types and taxonomies if (!function_exists('trx_addons_cpt_competitions_init')) { add_action( 'init', 'trx_addons_cpt_competitions_init' ); function trx_addons_cpt_competitions_init() { // Add parameters to the Meta Box support trx_addons_meta_box_register(TRX_ADDONS_CPT_COMPETITIONS_PT, array( "date_start" => array( "title" => esc_html__("Start date", 'trx_addons'), "desc" => wp_kses_data( __("Start date in format: yyyy-mm-dd", 'trx_addons') ), "std" => date('Y-m-d'), "type" => 'date' ), "date_end" => array( "title" => esc_html__("End date", 'trx_addons'), "desc" => wp_kses_data( __("End date in format: yyyy-mm-dd", 'trx_addons') ), "std" => date('Y-m-d'), "type" => 'date' ), "type" => array( "title" => esc_html__("Member's type", 'trx_addons'), "desc" => esc_html__("Select type of members in this competitions: pair (football, hokey, basketball, etc.) or group (motocross, maraphone, etc.)", 'trx_addons'), "std" => 'pair', "options" => array( 'pair' => esc_html__('Pair', 'trx_addons'), 'group' => esc_html__('Group', 'trx_addons'), ), "type" => 'radio' ) )); // Register taxonomies and post types // Taxonomy first, because it can using the combined rewrite rule (contains the slug of the post type) register_taxonomy( TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, TRX_ADDONS_CPT_COMPETITIONS_PT, apply_filters('trx_addons_filter_register_taxonomy', array( 'post_type' => TRX_ADDONS_CPT_COMPETITIONS_PT, 'hierarchical' => true, 'labels' => array( 'name' => esc_html__( 'Sports', 'trx_addons' ), 'singular_name' => esc_html__( 'Sport', 'trx_addons' ), 'search_items' => esc_html__( 'Search Sports', 'trx_addons' ), 'all_items' => esc_html__( 'All Sports', 'trx_addons' ), 'parent_item' => esc_html__( 'Parent Sport', 'trx_addons' ), 'parent_item_colon' => esc_html__( 'Parent Sport:', 'trx_addons' ), 'edit_item' => esc_html__( 'Edit Sport', 'trx_addons' ), 'update_item' => esc_html__( 'Update Sport', 'trx_addons' ), 'add_new_item' => esc_html__( 'Add New Sport', 'trx_addons' ), 'new_item_name' => esc_html__( 'New Sport Name', 'trx_addons' ), 'menu_name' => esc_html__( 'Sports', 'trx_addons' ), ), 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => trx_addons_cpt_param('competitions', 'taxonomy_slug'), 'with_front' => false, 'hierarchical' => true ) ), TRX_ADDONS_CPT_COMPETITIONS_PT, TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY ) ); register_post_type( TRX_ADDONS_CPT_COMPETITIONS_PT, apply_filters('trx_addons_filter_register_post_type', array( 'label' => esc_html__( 'Competitions', 'trx_addons' ), 'description' => esc_html__( 'Competitions Description', 'trx_addons' ), 'labels' => array( 'name' => esc_html__( 'Competitions', 'trx_addons' ), 'singular_name' => esc_html__( 'Competition', 'trx_addons' ), 'menu_name' => esc_html__( 'Competitions', 'trx_addons' ), 'parent_item_colon' => esc_html__( 'Parent Item:', 'trx_addons' ), 'all_items' => esc_html__( 'All Competitions', 'trx_addons' ), 'view_item' => esc_html__( 'View Competition', 'trx_addons' ), 'add_new_item' => esc_html__( 'Add New Competition', 'trx_addons' ), 'add_new' => esc_html__( 'Add New', 'trx_addons' ), 'edit_item' => esc_html__( 'Edit Competition', 'trx_addons' ), 'update_item' => esc_html__( 'Update Competition', 'trx_addons' ), 'search_items' => esc_html__( 'Search Competitions', 'trx_addons' ), 'not_found' => esc_html__( 'Not found', 'trx_addons' ), 'not_found_in_trash' => esc_html__( 'Not found in Trash', 'trx_addons' ), ), 'taxonomies' => array(TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY), 'supports' => trx_addons_cpt_param('competitions', 'supports'), 'public' => true, 'hierarchical' => false, 'has_archive' => true, 'can_export' => true, 'show_in_admin_bar' => true, 'show_in_menu' => false, 'capability_type' => 'post', 'rewrite' => array( 'slug' => trx_addons_cpt_param('competitions', 'post_type_slug'), 'with_front' => false, 'hierarchical' => false ) ), TRX_ADDONS_CPT_COMPETITIONS_PT ) ); // Add rewrite rules to show competitions add_rewrite_tag('%competition%', '([^&]+)'); } } // Add sort in the query for the competitions if ( !function_exists( 'trx_addons_cpt_competitions_add_sort_order' ) ) { add_filter('trx_addons_filter_add_sort_order', 'trx_addons_cpt_competitions_add_sort_order', 10, 3); function trx_addons_cpt_competitions_add_sort_order($q, $orderby, $order='desc') { if ($orderby == 'competition_date') { $q['order'] = $order; $q['orderby'] = 'meta_value'; $q['meta_key'] = 'trx_addons_competition_date'; } return $q; } } // Save competition's date for search, sorting, etc. if ( !function_exists( 'trx_addons_cpt_competitions_save_post_options' ) ) { add_filter('trx_addons_filter_save_post_options', 'trx_addons_cpt_competitions_save_post_options', 10, 3); function trx_addons_cpt_competitions_save_post_options($options, $post_id, $post_type) { if ($post_type == TRX_ADDONS_CPT_COMPETITIONS_PT) { update_post_meta($post_id, 'trx_addons_competition_date', $options['date_start']); } return $options; } } // Return true if it's competitions page if ( !function_exists( 'trx_addons_is_competitions_page' ) ) { function trx_addons_is_competitions_page() { return !is_search() && ( (trx_addons_is_single() && get_post_type()==TRX_ADDONS_CPT_COMPETITIONS_PT) || is_post_type_archive(TRX_ADDONS_CPT_COMPETITIONS_PT) || is_tax(TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY) ); } } // Replace standard theme templates //------------------------------------------------------------- // Change standard single template for the competitions posts if ( !function_exists( 'trx_addons_cpt_competitions_single_template' ) ) { add_filter('single_template', 'trx_addons_cpt_competitions_single_template'); function trx_addons_cpt_competitions_single_template($template) { global $post; if (trx_addons_is_single() && $post->post_type == TRX_ADDONS_CPT_COMPETITIONS_PT) { if ( ($template = trx_addons_get_file_dir(TRX_ADDONS_PLUGIN_CPT . 'sport/tpl.single.competitions.php')) == '' ) $template = trx_addons_get_file_dir(TRX_ADDONS_PLUGIN_CPT . 'sport/tpl.single.php'); } return $template; } } // Change standard archive template for the competitions posts if ( !function_exists( 'trx_addons_cpt_competitions_archive_template' ) ) { add_filter('archive_template', 'trx_addons_cpt_competitions_archive_template'); function trx_addons_cpt_competitions_archive_template( $template ) { if ( is_post_type_archive(TRX_ADDONS_CPT_COMPETITIONS_PT) ) { if ( ($template = trx_addons_get_file_dir(TRX_ADDONS_PLUGIN_CPT . 'sport/tpl.archive.competitions.php')) == '' ) $template = trx_addons_get_file_dir(TRX_ADDONS_PLUGIN_CPT . 'sport/tpl.archive.php'); } return $template; } } // Change standard category template for the competitions categories (sports) if ( !function_exists( 'trx_addons_cpt_competitions_taxonomy_template' ) ) { add_filter('taxonomy_template', 'trx_addons_cpt_competitions_taxonomy_template'); function trx_addons_cpt_competitions_taxonomy_template( $template ) { if ( is_tax(TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY) ) { if ( ($template = trx_addons_get_file_dir(TRX_ADDONS_PLUGIN_CPT . 'sport/tpl.archive.competitions.php')) == '' ) $template = trx_addons_get_file_dir(TRX_ADDONS_PLUGIN_CPT . 'sport/tpl.archive.php'); } return $template; } } // Admin utils // ----------------------------------------------------------------- // Add Admin menu 'Sport' items if (!function_exists('trx_addons_cpt_competitions_admin_menu')) { add_action( 'admin_menu', 'trx_addons_cpt_competitions_admin_menu' ); function trx_addons_cpt_competitions_admin_menu() { $tax = TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY; if ( !($terms = get_transient("trx_addons_terms_filter_".trim($tax)))) { $terms = get_terms(array('taxonomy'=>$tax, 'hide_empty'=>false)); if (is_array($terms) && count($terms) > 0) set_transient("trx_addons_terms_filter_".trim($tax), $terms, 24*60*60); } if (is_array($terms) && count($terms) > 0) { foreach ($terms as $term) { add_submenu_page('trx_addons_sport', //parent_menu_slug esc_html($term->name), //page_title esc_html($term->name), //menu_title 'edit_posts', //capability 'edit.php?post_type='.TRX_ADDONS_CPT_COMPETITIONS_PT.'&'.TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY.'='.$term->slug, //menu_link null //callback ); } } // Link to taxonomies editor add_submenu_page('trx_addons_sport', esc_html__('Add/Delete Sport', 'trx_addons'), esc_html__('Add/Delete Sport', 'trx_addons'), 'edit_posts', //capability 'edit-tags.php?post_type='.TRX_ADDONS_CPT_COMPETITIONS_PT.'&taxonomy='.TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, null ); } } // Show <select> with sports in the admin filters area if (!function_exists('trx_addons_cpt_competitions_admin_filters_sport')) { add_action( 'restrict_manage_posts', 'trx_addons_cpt_competitions_admin_filters_sport' ); function trx_addons_cpt_competitions_admin_filters_sport() { trx_addons_admin_filters(TRX_ADDONS_CPT_COMPETITIONS_PT, TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY); } } // Clear terms cache on the taxonomy save if (!function_exists('trx_addons_cpt_competitions_admin_clear_cache_sport')) { add_action( 'edited_'.TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, 'trx_addons_cpt_competitions_admin_clear_cache_sport', 10, 1 ); add_action( 'delete_'.TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, 'trx_addons_cpt_competitions_admin_clear_cache_sport', 10, 1 ); add_action( 'created_'.TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, 'trx_addons_cpt_competitions_admin_clear_cache_sport', 10, 1 ); function trx_addons_cpt_competitions_admin_clear_cache_sport( $term_id=0 ) { trx_addons_admin_clear_cache_terms(TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY); } } // Clear terms cache on the post save if ( !function_exists( 'trx_addons_cpt_competitions_admin_clear_cache_sport2' ) ) { add_filter('trx_addons_filter_save_post_options', 'trx_addons_cpt_competitions_admin_clear_cache_sport2', 10, 3); function trx_addons_cpt_competitions_admin_clear_cache_sport2($options, $post_id, $post_type) { if ($post_type == TRX_ADDONS_CPT_COMPETITIONS_PT) { set_transient("trx_addons_terms_filter_".TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, '', 24*60*60); } return $options; } } // Show <select> with competitions in the admin filters area if (!function_exists('trx_addons_cpt_competitions_admin_filters_competition')) { add_action( 'restrict_manage_posts', 'trx_addons_cpt_competitions_admin_filters_competition' ); function trx_addons_cpt_competitions_admin_filters_competition() { if ( !in_array(get_query_var('post_type'), array(TRX_ADDONS_CPT_ROUNDS_PT, TRX_ADDONS_CPT_PLAYERS_PT)) ) return; $competition = trx_addons_get_value_gp('competition'); if (empty($competition)) return; $terms = get_the_terms($competition, TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY); if (!is_array($terms) || count($terms)==0) return; $tax = $terms[0]->slug; if ( !($competitions_list = get_transient("trx_addons_competitions_filter_".trim($tax))) ) { $competitions_list = trx_addons_get_list_posts(false, array( 'post_type'=>TRX_ADDONS_CPT_COMPETITIONS_PT, 'taxonomy'=>TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY, 'taxonomy_value'=>$tax)); if (is_array($competitions_list) && count($competitions_list) > 0) set_transient("trx_addons_competitions_filter_".trim($tax), $competitions_list, 24*60*60); } $list = ''; if (is_array($competitions_list) && count($competitions_list) > 0) { $list .= '<select name="competition" id="competition" class="postform">'; foreach ($competitions_list as $id=>$title) { $list .= '<option value="'.esc_attr($id).'"'.($competition==$id ? ' selected="selected"' : '').'>'.esc_html($title).'</option>'; } $list .= "</select>"; } trx_addons_show_layout($list); } } // Clear competitions cache on the post save if ( !function_exists( 'trx_addons_cpt_competitions_admin_clear_cache_competition' ) ) { add_filter('trx_addons_filter_save_post_options', 'trx_addons_cpt_competitions_admin_clear_cache_competition', 10, 3); function trx_addons_cpt_competitions_admin_clear_cache_competition($options, $post_id, $post_type) { if ($post_type == TRX_ADDONS_CPT_COMPETITIONS_PT) { $terms = get_the_terms($post_id, TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY); if ( ! empty( $terms[0]->slug ) ) { $tax = $terms[0]->slug; set_transient("trx_addons_competitions_filter_".trim($tax), '', 24*60*60); } } return $options; } } // Create additional column in the posts list if (!function_exists('trx_addons_cpt_competitions_add_custom_column')) { add_filter('manage_edit-'.trx_addons_cpt_param('competitions', 'post_type').'_columns', 'trx_addons_cpt_competitions_add_custom_column', 9); function trx_addons_cpt_competitions_add_custom_column( $columns ){ if (is_array($columns) && count($columns)>0) { $new_columns = array(); foreach($columns as $k=>$v) { if ($k=='title') { $new_columns['cpt_competitions_image'] = esc_html__('Image', 'trx_addons'); } $new_columns[$k] = $v; if ($k=='title') { $new_columns['cpt_competitions_date'] = esc_html__('Date', 'trx_addons'); } } $columns = $new_columns; } return $columns; } } // Make column 'Date' sortable if (!function_exists('trx_addons_cpt_competitions_sort_custom_column')) { add_filter('manage_edit-'.trx_addons_cpt_param('competitions', 'post_type').'_sortable_columns', 'trx_addons_cpt_competitions_sort_custom_column'); function trx_addons_cpt_competitions_sort_custom_column( $columns ) { if (is_array($columns)) $columns['cpt_competitions_date'] = array('trx_addons_competition_date', trx_addons_get_value_gp('orderby')=='' || trx_addons_get_value_gp('orderby')=='trx_addons_competition_date' && trx_addons_get_value_gp('order')=='asc'); return $columns; } } // Fill custom columns in the posts list if (!function_exists('trx_addons_cpt_competitions_fill_custom_column')) { add_action('manage_'.trx_addons_cpt_param('competitions', 'post_type').'_posts_custom_column', 'trx_addons_cpt_competitions_fill_custom_column', 9, 2); function trx_addons_cpt_competitions_fill_custom_column($column_name='', $post_id=0) { if ($column_name == 'cpt_competitions_image') { $image = wp_get_attachment_image_src( get_post_thumbnail_id($post_id), trx_addons_get_thumb_size('masonry') ); if ( ! empty($image[0]) ) { ?><img class="trx_addons_cpt_column_image_preview trx_addons_cpt_competitions_image_preview" src="<?php echo esc_url($image[0]); ?>" alt="<?php esc_attr_e("Competition's logo", 'trx_addons'); ?>"<?php if (!empty($image[1])) echo ' width="'.intval($image[1]).'"'; ?><?php if (!empty($image[2])) echo ' height="'.intval($image[2]).'"'; ?>><?php } } else if ($column_name == 'cpt_competitions_date') { // Show start and end date of the competition $meta = (array)get_post_meta($post_id, 'trx_addons_options', true); ?><div class="trx_addons_meta_row"><?php trx_addons_show_layout(date_i18n(get_option('date_format'), strtotime($meta['date_start'])), '<span class="trx_addons_meta_date trx_addons_meta_date_start">', '</span>' ); ?><span class="trx_addons_meta_delimiter"> - </span><?php trx_addons_show_layout(date_i18n(get_option('date_format'), strtotime($meta['date_end'])), '<span class="trx_addons_meta_date trx_addons_meta_date_end">', '</span>' ); ?></div><?php // Links to rounds and members lists ?><div class="trx_addons_meta_row"> <a href="<?php echo esc_url(get_admin_url(null, 'edit.php?post_type='.TRX_ADDONS_CPT_ROUNDS_PT.'&competition='.intval($post_id))); ?>" class="button-primary"><?php esc_html_e('Rounds', 'trx_addons'); ?></a> <a href="<?php echo esc_url(get_admin_url(null, 'edit.php?post_type='.TRX_ADDONS_CPT_PLAYERS_PT.'&competition='.intval($post_id))); ?>" class="button"><?php esc_html_e('Players', 'trx_addons'); ?></a> </div><?php } } } // Add hidden field with sport or competition to the edit form if (!function_exists('trx_addons_cpt_competitions_add_sports_field')) { add_action('edit_form_top', 'trx_addons_cpt_competitions_add_sports_field', 1, 1); function trx_addons_cpt_competitions_add_sports_field($post) { if (!is_object($post)) return; if ($post->post_type == TRX_ADDONS_CPT_COMPETITIONS_PT) { // Add sport $sport = trx_addons_get_value_gp('cpt_competitions_sports'); if ( empty($sport) ) { $terms = get_the_terms($post->ID, TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY); if (!is_array($terms) || count($terms)==0) return; $sport = $terms[0]->slug; } else { // Save sport ID to the storage $term = get_term_by('slug', $sport, TRX_ADDONS_CPT_COMPETITIONS_TAXONOMY); global $TRX_ADDONS_STORAGE; $TRX_ADDONS_STORAGE['sport_id'] = $term!==false ? $term->term_id : 0; } ?><input type="hidden" id="cpt_competitions_sports" name="cpt_competitions_sports" value="<?php echo esc_attr($sport); ?>"><?php } else if (in_array($post->post_type, array(TRX_ADDONS_CPT_ROUNDS_PT, TRX_ADDONS_CPT_PLAYERS_PT, TRX_ADDONS_CPT_MATCHES_PT))) { // Add round $round = 0; if ($post->post_type == TRX_ADDONS_CPT_MATCHES_PT) { $round = trx_addons_get_value_gp('round'); //if ( (int) $round == 0) $round = get_post_meta($post->ID, 'trx_addons_round', true); if ( (int) $round == 0) $round = $post->post_parent; ?><input type="hidden" id="round" name="round" value="<?php echo esc_attr($round); ?>"><?php } // Add competition $competition = trx_addons_get_value_gp('competition'); //if ( (int) $competition == 0) $competition = get_post_meta($post->ID, 'trx_addons_competition', true); if ( (int) $competition == 0) { if ($round > 0) { $round_post = get_post($round); $competition = $round_post->post_parent; } else { $competition = $post->post_parent; } } ?><input type="hidden" id="competition" name="competition" value="<?php echo esc_attr($competition); ?>"><?php } } } // Check Sport in the terms list when edit Competition if (!function_exists('trx_addons_cpt_competitions_check_sports_term')) { add_action('wp_terms_checklist_args', 'trx_addons_cpt_competitions_check_sports_term', 10, 2); function trx_addons_cpt_competitions_check_sports_term($args, $post_id) { global $TRX_ADDONS_STORAGE; if (!empty($TRX_ADDONS_STORAGE['sport_id'])) $args['selected_cats'] = array($TRX_ADDONS_STORAGE['sport_id']); return $args; } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
gutenberg
---
0755
players.png
2088 bytes
0644
points.png
1347 bytes
0644
sport-sc-elementor.php
13902 bytes
0644
sport-sc-gutenberg.php
9013 bytes
0644
sport-sc-vc.php
10937 bytes
0644
sport-sc.php
4348 bytes
0644
sport.admin.js
3433 bytes
0644
sport.competitions.php
20138 bytes
0644
sport.css
11248 bytes
0644
sport.css.map
7108 bytes
0644
sport.elementor.editor.js
3730 bytes
0644
sport.js
464 bytes
0644
sport.matches.php
21214 bytes
0644
sport.php
19712 bytes
0644
sport.players.php
13279 bytes
0644
sport.png
2650 bytes
0644
sport.responsive.css
2090 bytes
0644
sport.responsive.css.map
1266 bytes
0644
sport.responsive.scss
2014 bytes
0644
sport.rounds.php
12652 bytes
0644
sport.scss
9454 bytes
0644
tpl.archive-item.php
5221 bytes
0644
tpl.archive.php
1983 bytes
0644
tpl.sc_matches.default-main.php
4373 bytes
0644
tpl.sc_matches.default-other.php
3346 bytes
0644
tpl.sc_matches.default.php
5000 bytes
0644
tpl.sc_points.default.php
3575 bytes
0644
tpl.single.competitions.php
7880 bytes
0644
tpl.single.matches.php
8215 bytes
0644
tpl.single.php
2950 bytes
0644
tpl.single.players.php
7094 bytes
0644
tpl.single.rounds.php
5039 bytes
0644
N4ST4R_ID | Naxtarrr