Add Calendars (sp_calendar) and Venues (sp_venue)
This commit is contained in:
@@ -1,130 +0,0 @@
|
|||||||
<?php
|
|
||||||
function sportspress_admin_init() {
|
|
||||||
|
|
||||||
$installed = get_option( 'sportspress_installed', false );
|
|
||||||
|
|
||||||
// General settings
|
|
||||||
register_setting(
|
|
||||||
'sportspress_general',
|
|
||||||
'sportspress',
|
|
||||||
'sportspress_validate'
|
|
||||||
);
|
|
||||||
|
|
||||||
add_settings_section(
|
|
||||||
'general',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'sportspress_general'
|
|
||||||
);
|
|
||||||
|
|
||||||
add_settings_field(
|
|
||||||
'sport',
|
|
||||||
__( 'Sport', 'sportspress' ),
|
|
||||||
'sportspress_sport_callback',
|
|
||||||
'sportspress_general',
|
|
||||||
'general'
|
|
||||||
);
|
|
||||||
|
|
||||||
// Event Settings
|
|
||||||
register_setting(
|
|
||||||
'sportspress_events',
|
|
||||||
'sportspress',
|
|
||||||
'sportspress_validate'
|
|
||||||
);
|
|
||||||
|
|
||||||
add_settings_section(
|
|
||||||
'events',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
'sportspress_events'
|
|
||||||
);
|
|
||||||
|
|
||||||
add_settings_field(
|
|
||||||
'sport',
|
|
||||||
__( 'Sport', 'sportspress' ),
|
|
||||||
'sportspress_sport_callback',
|
|
||||||
'sportspress_events',
|
|
||||||
'events'
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
add_action( 'admin_init', 'sportspress_admin_init', 1 );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function sportspress_validate( $input ) {
|
|
||||||
|
|
||||||
$options = get_option( 'sportspress' );
|
|
||||||
|
|
||||||
// Do nothing if sport is the same as currently selected
|
|
||||||
if ( sportspress_array_value( $options, 'sport', null ) == sportspress_array_value( $input, 'sport', null ) )
|
|
||||||
|
|
||||||
return $input;
|
|
||||||
|
|
||||||
// Get sports presets
|
|
||||||
global $sportspress_sports;
|
|
||||||
|
|
||||||
// Get array of post types to insert
|
|
||||||
$post_groups = sportspress_array_value( sportspress_array_value( $sportspress_sports, sportspress_array_value( $input, 'sport', null ), array() ), 'posts', array() );
|
|
||||||
|
|
||||||
// Loop through each post type
|
|
||||||
foreach( $post_groups as $post_type => $posts ):
|
|
||||||
|
|
||||||
$args = array(
|
|
||||||
'post_type' => $post_type,
|
|
||||||
'numberposts' => -1,
|
|
||||||
'posts_per_page' => -1,
|
|
||||||
'meta_query' => array(
|
|
||||||
array(
|
|
||||||
'key' => 'sp_preset',
|
|
||||||
'value' => 1
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Delete posts
|
|
||||||
$old_posts = get_posts( $args );
|
|
||||||
|
|
||||||
foreach( $old_posts as $post ):
|
|
||||||
wp_delete_post( $post->ID, true);
|
|
||||||
endforeach;
|
|
||||||
|
|
||||||
// Add posts
|
|
||||||
foreach( $posts as $index => $post ):
|
|
||||||
|
|
||||||
// Make sure post doesn't overlap
|
|
||||||
if ( ! get_page_by_path( $post['post_name'], OBJECT, $post_type ) ):
|
|
||||||
|
|
||||||
// Translate post title
|
|
||||||
$post['post_title'] = __( $post['post_title'], 'sportspress' );
|
|
||||||
|
|
||||||
// Set post type
|
|
||||||
$post['post_type'] = $post_type;
|
|
||||||
|
|
||||||
// Increment menu order by 2 and publish post
|
|
||||||
$post['menu_order'] = $index * 2 + 2;
|
|
||||||
$post['post_status'] = 'publish';
|
|
||||||
$id = wp_insert_post( $post );
|
|
||||||
|
|
||||||
// Flag as preset
|
|
||||||
update_post_meta( $id, 'sp_preset', 1 );
|
|
||||||
|
|
||||||
// Update meta
|
|
||||||
if ( array_key_exists( 'meta', $post ) ):
|
|
||||||
|
|
||||||
foreach ( $post['meta'] as $key => $value ):
|
|
||||||
|
|
||||||
update_post_meta( $id, $key, $value );
|
|
||||||
|
|
||||||
endforeach;
|
|
||||||
|
|
||||||
endif;
|
|
||||||
|
|
||||||
endif;
|
|
||||||
|
|
||||||
endforeach;
|
|
||||||
|
|
||||||
endforeach;
|
|
||||||
|
|
||||||
return $input;
|
|
||||||
}
|
|
||||||
@@ -11,7 +11,10 @@ function sportspress_manage_posts_custom_column( $column, $post_id ) {
|
|||||||
case 'sp_team':
|
case 'sp_team':
|
||||||
$post_type = get_post_type( $post );
|
$post_type = get_post_type( $post );
|
||||||
$teams = get_post_meta ( $post_id, 'sp_team', false );
|
$teams = get_post_meta ( $post_id, 'sp_team', false );
|
||||||
if ( $post_type == 'sp_event' ):
|
if ( empty( $teams ) ):
|
||||||
|
echo '—';
|
||||||
|
break;
|
||||||
|
elseif ( $post_type == 'sp_event' ):
|
||||||
$results = get_post_meta( $post_id, 'sp_results', true );
|
$results = get_post_meta( $post_id, 'sp_results', true );
|
||||||
foreach( $teams as $team_id ):
|
foreach( $teams as $team_id ):
|
||||||
if ( ! $team_id ) continue;
|
if ( ! $team_id ) continue;
|
||||||
@@ -69,6 +72,9 @@ function sportspress_manage_posts_custom_column( $column, $post_id ) {
|
|||||||
case 'sp_season':
|
case 'sp_season':
|
||||||
echo get_the_terms ( $post_id, 'sp_season' ) ? the_terms( $post_id, 'sp_season' ) : '—';
|
echo get_the_terms ( $post_id, 'sp_season' ) ? the_terms( $post_id, 'sp_season' ) : '—';
|
||||||
break;
|
break;
|
||||||
|
case 'sp_venue':
|
||||||
|
echo get_the_terms ( $post_id, 'sp_venue' ) ? the_terms( $post_id, 'sp_venue' ) : '—';
|
||||||
|
break;
|
||||||
case 'sp_sponsor':
|
case 'sp_sponsor':
|
||||||
echo get_the_terms ( $post_id, 'sp_sponsor' ) ? the_terms( $post_id, 'sp_sponsor' ) : '—';
|
echo get_the_terms ( $post_id, 'sp_sponsor' ) ? the_terms( $post_id, 'sp_sponsor' ) : '—';
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
function sportspress_sanitize_title( $title ) {
|
function sportspress_sanitize_title( $title ) {
|
||||||
|
|
||||||
if ( isset( $_POST ) && array_key_exists( 'post_type', $_POST ) && in_array( $_POST['post_type'], array( 'sp_result', 'sp_outcome', 'sp_column', 'sp_statistic' ) ) ):
|
if ( isset( $_POST ) && array_key_exists( 'taxonomy', $_POST ) ):
|
||||||
|
|
||||||
|
return $title;
|
||||||
|
|
||||||
|
elseif ( isset( $_POST ) && array_key_exists( 'post_type', $_POST ) && in_array( $_POST['post_type'], array( 'sp_result', 'sp_outcome', 'sp_column', 'sp_statistic' ) ) ):
|
||||||
|
|
||||||
$key = $_POST['sp_key'];
|
$key = $_POST['sp_key'];
|
||||||
|
|
||||||
@@ -22,4 +26,4 @@ function sportspress_sanitize_title( $title ) {
|
|||||||
|
|
||||||
return $title;
|
return $title;
|
||||||
}
|
}
|
||||||
add_filter( 'sanitize_title', 'sportspress_sanitize_title' );
|
//add_filter( 'sanitize_title', 'sportspress_sanitize_title' );
|
||||||
|
|||||||
75
admin/post-types/calendar.php
Normal file
75
admin/post-types/calendar.php
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
<?php
|
||||||
|
function sportspress_calendar_post_init() {
|
||||||
|
$name = __( 'Calendars', 'sportspress' );
|
||||||
|
$singular_name = __( 'Calendar', 'sportspress' );
|
||||||
|
$lowercase_name = __( 'calendars', 'sportspress' );
|
||||||
|
$labels = sportspress_get_post_labels( $name, $singular_name, $lowercase_name, true );
|
||||||
|
$args = array(
|
||||||
|
'label' => $name,
|
||||||
|
'labels' => $labels,
|
||||||
|
'public' => true,
|
||||||
|
'hierarchical' => false,
|
||||||
|
'supports' => array( 'title', 'author', 'excerpt' ),
|
||||||
|
'register_meta_box_cb' => 'sportspress_calendar_meta_init',
|
||||||
|
'rewrite' => array( 'slug' => get_option( 'sp_calendar_slug', 'calendars' ) ),
|
||||||
|
'show_in_menu' => 'edit.php?post_type=sp_event',
|
||||||
|
'show_in_admin_bar' => true,
|
||||||
|
// 'capability_type' => 'sp_calendar'
|
||||||
|
);
|
||||||
|
register_post_type( 'sp_calendar', $args );
|
||||||
|
}
|
||||||
|
add_action( 'init', 'sportspress_calendar_post_init' );
|
||||||
|
|
||||||
|
function sportspress_calendar_edit_columns() {
|
||||||
|
$columns = array(
|
||||||
|
'cb' => '<input type="checkbox" />',
|
||||||
|
'title' => __( 'Title' ),
|
||||||
|
'sp_team' => __( 'Teams', 'sportspress' ),
|
||||||
|
'sp_season' => __( 'Seasons', 'sportspress' ),
|
||||||
|
);
|
||||||
|
return $columns;
|
||||||
|
}
|
||||||
|
add_filter( 'manage_edit-sp_calendar_columns', 'sportspress_calendar_edit_columns' );
|
||||||
|
|
||||||
|
function sportspress_calendar_meta_init( $post ) {
|
||||||
|
$teams = (array)get_post_meta( $post->ID, 'sp_team', false );
|
||||||
|
|
||||||
|
add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_calendar_team_meta', 'sp_calendar', 'side', 'high' );
|
||||||
|
|
||||||
|
if ( $teams && $teams != array(0) ):
|
||||||
|
add_meta_box( 'sp_columnsdiv', __( 'League Table', 'sportspress' ), 'sportspress_calendar_columns_meta', 'sp_calendar', 'normal', 'high' );
|
||||||
|
endif;
|
||||||
|
}
|
||||||
|
|
||||||
|
function sportspress_calendar_team_meta( $post, $test ) {
|
||||||
|
$league_id = sportspress_get_the_term_id( $post->ID, 'sp_season', 0 );
|
||||||
|
?>
|
||||||
|
<div>
|
||||||
|
<p class="sp-tab-select">
|
||||||
|
<?php
|
||||||
|
$args = array(
|
||||||
|
'taxonomy' => 'sp_season',
|
||||||
|
'name' => 'sp_season',
|
||||||
|
'selected' => $league_id,
|
||||||
|
'value' => 'term_id'
|
||||||
|
);
|
||||||
|
sportspress_dropdown_taxonomies( $args );
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<?php
|
||||||
|
sportspress_post_checklist( $post->ID, 'sp_team', 'block', 'sp_season' );
|
||||||
|
sportspress_post_adder( 'sp_team' );
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
sportspress_nonce();
|
||||||
|
}
|
||||||
|
|
||||||
|
function sportspress_calendar_columns_meta( $post ) {
|
||||||
|
|
||||||
|
// list( $columns, $data, $placeholders, $merged ) = sportspress_get_league_calendar_data( $post->ID, true );
|
||||||
|
|
||||||
|
// sportspress_edit_league_calendar( $columns, $data, $placeholders );
|
||||||
|
|
||||||
|
sportspress_nonce();
|
||||||
|
}
|
||||||
@@ -142,6 +142,7 @@ function sportspress_event_edit_columns() {
|
|||||||
'title' => __( 'Event', 'sportspress' ),
|
'title' => __( 'Event', 'sportspress' ),
|
||||||
'sp_team' => __( 'Teams', 'sportspress' ),
|
'sp_team' => __( 'Teams', 'sportspress' ),
|
||||||
'sp_season' => __( 'Seasons', 'sportspress' ),
|
'sp_season' => __( 'Seasons', 'sportspress' ),
|
||||||
|
'sp_venue' => __( 'Venues', 'sportspress' ),
|
||||||
'sp_kickoff' => __( 'Kick-off', 'sportspress' )
|
'sp_kickoff' => __( 'Kick-off', 'sportspress' )
|
||||||
);
|
);
|
||||||
return $columns;
|
return $columns;
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ add_filter( 'manage_edit-sp_list_columns', 'sportspress_list_edit_columns' );
|
|||||||
function sportspress_list_meta_init( $post ) {
|
function sportspress_list_meta_init( $post ) {
|
||||||
$players = (array)get_post_meta( $post->ID, 'sp_player', false );
|
$players = (array)get_post_meta( $post->ID, 'sp_player', false );
|
||||||
|
|
||||||
|
remove_meta_box( 'sp_seasondiv', 'sp_list', 'side' );
|
||||||
add_meta_box( 'sp_playerdiv', __( 'Players', 'sportspress' ), 'sportspress_list_player_meta', 'sp_list', 'side', 'high' );
|
add_meta_box( 'sp_playerdiv', __( 'Players', 'sportspress' ), 'sportspress_list_player_meta', 'sp_list', 'side', 'high' );
|
||||||
|
|
||||||
if ( $players && $players != array(0) ):
|
if ( $players && $players != array(0) ):
|
||||||
@@ -47,6 +48,7 @@ function sportspress_list_player_meta( $post ) {
|
|||||||
$team_id = get_post_meta( $post->ID, 'sp_team', true );
|
$team_id = get_post_meta( $post->ID, 'sp_team', true );
|
||||||
?>
|
?>
|
||||||
<div>
|
<div>
|
||||||
|
<p><strong><?php _e( 'Season', 'sportspress' ); ?></strong></p>
|
||||||
<p class="sp-tab-select">
|
<p class="sp-tab-select">
|
||||||
<?php
|
<?php
|
||||||
$args = array(
|
$args = array(
|
||||||
@@ -58,6 +60,7 @@ function sportspress_list_player_meta( $post ) {
|
|||||||
sportspress_dropdown_taxonomies( $args );
|
sportspress_dropdown_taxonomies( $args );
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
|
<p><strong><?php _e( 'Team', 'sportspress' ); ?></strong></p>
|
||||||
<p class="sp-tab-select">
|
<p class="sp-tab-select">
|
||||||
<?php
|
<?php
|
||||||
$args = array(
|
$args = array(
|
||||||
@@ -68,6 +71,7 @@ function sportspress_list_player_meta( $post ) {
|
|||||||
wp_dropdown_pages( $args );
|
wp_dropdown_pages( $args );
|
||||||
?>
|
?>
|
||||||
</p>
|
</p>
|
||||||
|
<p><strong><?php _e( 'Players', 'sportspress' ); ?></strong></p>
|
||||||
<?php
|
<?php
|
||||||
sportspress_post_checklist( $post->ID, 'sp_player', 'block', 'sp_team' );
|
sportspress_post_checklist( $post->ID, 'sp_player', 'block', 'sp_team' );
|
||||||
sportspress_post_adder( 'sp_player' );
|
sportspress_post_adder( 'sp_player' );
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ add_filter( 'manage_edit-sp_table_columns', 'sportspress_table_edit_columns' );
|
|||||||
function sportspress_table_meta_init( $post ) {
|
function sportspress_table_meta_init( $post ) {
|
||||||
$teams = (array)get_post_meta( $post->ID, 'sp_team', false );
|
$teams = (array)get_post_meta( $post->ID, 'sp_team', false );
|
||||||
|
|
||||||
|
remove_meta_box( 'sp_seasondiv', 'sp_table', 'side' );
|
||||||
add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_table_team_meta', 'sp_table', 'side', 'high' );
|
add_meta_box( 'sp_teamdiv', __( 'Teams', 'sportspress' ), 'sportspress_table_team_meta', 'sp_table', 'side', 'high' );
|
||||||
|
|
||||||
if ( $teams && $teams != array(0) ):
|
if ( $teams && $teams != array(0) ):
|
||||||
|
|||||||
@@ -55,3 +55,131 @@ function sportspress_event_stats_callback() {
|
|||||||
function sportspress_player_stats_callback() {
|
function sportspress_player_stats_callback() {
|
||||||
sportspress_render_option_field( 'sportspress_stats', 'player', 'textarea' );
|
sportspress_render_option_field( 'sportspress_stats', 'player', 'textarea' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sportspress_settings_init() {
|
||||||
|
|
||||||
|
$installed = get_option( 'sportspress_installed', false );
|
||||||
|
|
||||||
|
// General settings
|
||||||
|
register_setting(
|
||||||
|
'sportspress_general',
|
||||||
|
'sportspress',
|
||||||
|
'sportspress_validate'
|
||||||
|
);
|
||||||
|
|
||||||
|
add_settings_section(
|
||||||
|
'general',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'sportspress_general'
|
||||||
|
);
|
||||||
|
|
||||||
|
add_settings_field(
|
||||||
|
'sport',
|
||||||
|
__( 'Sport', 'sportspress' ),
|
||||||
|
'sportspress_sport_callback',
|
||||||
|
'sportspress_general',
|
||||||
|
'general'
|
||||||
|
);
|
||||||
|
|
||||||
|
// Event Settings
|
||||||
|
register_setting(
|
||||||
|
'sportspress_events',
|
||||||
|
'sportspress',
|
||||||
|
'sportspress_validate'
|
||||||
|
);
|
||||||
|
|
||||||
|
add_settings_section(
|
||||||
|
'events',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'sportspress_events'
|
||||||
|
);
|
||||||
|
|
||||||
|
add_settings_field(
|
||||||
|
'sport',
|
||||||
|
__( 'Sport', 'sportspress' ),
|
||||||
|
'sportspress_sport_callback',
|
||||||
|
'sportspress_events',
|
||||||
|
'events'
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
add_action( 'admin_init', 'sportspress_settings_init', 1 );
|
||||||
|
|
||||||
|
function sportspress_validate( $input ) {
|
||||||
|
|
||||||
|
$options = get_option( 'sportspress' );
|
||||||
|
|
||||||
|
// Do nothing if sport is the same as currently selected
|
||||||
|
if ( sportspress_array_value( $options, 'sport', null ) == sportspress_array_value( $input, 'sport', null ) )
|
||||||
|
|
||||||
|
return $input;
|
||||||
|
|
||||||
|
// Get sports presets
|
||||||
|
global $sportspress_sports;
|
||||||
|
|
||||||
|
// Get array of post types to insert
|
||||||
|
$post_groups = sportspress_array_value( sportspress_array_value( $sportspress_sports, sportspress_array_value( $input, 'sport', null ), array() ), 'posts', array() );
|
||||||
|
|
||||||
|
// Loop through each post type
|
||||||
|
foreach( $post_groups as $post_type => $posts ):
|
||||||
|
|
||||||
|
$args = array(
|
||||||
|
'post_type' => $post_type,
|
||||||
|
'numberposts' => -1,
|
||||||
|
'posts_per_page' => -1,
|
||||||
|
'meta_query' => array(
|
||||||
|
array(
|
||||||
|
'key' => 'sp_preset',
|
||||||
|
'value' => 1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Delete posts
|
||||||
|
$old_posts = get_posts( $args );
|
||||||
|
|
||||||
|
foreach( $old_posts as $post ):
|
||||||
|
wp_delete_post( $post->ID, true);
|
||||||
|
endforeach;
|
||||||
|
|
||||||
|
// Add posts
|
||||||
|
foreach( $posts as $index => $post ):
|
||||||
|
|
||||||
|
// Make sure post doesn't overlap
|
||||||
|
if ( ! get_page_by_path( $post['post_name'], OBJECT, $post_type ) ):
|
||||||
|
|
||||||
|
// Translate post title
|
||||||
|
$post['post_title'] = __( $post['post_title'], 'sportspress' );
|
||||||
|
|
||||||
|
// Set post type
|
||||||
|
$post['post_type'] = $post_type;
|
||||||
|
|
||||||
|
// Increment menu order by 2 and publish post
|
||||||
|
$post['menu_order'] = $index * 2 + 2;
|
||||||
|
$post['post_status'] = 'publish';
|
||||||
|
$id = wp_insert_post( $post );
|
||||||
|
|
||||||
|
// Flag as preset
|
||||||
|
update_post_meta( $id, 'sp_preset', 1 );
|
||||||
|
|
||||||
|
// Update meta
|
||||||
|
if ( array_key_exists( 'meta', $post ) ):
|
||||||
|
|
||||||
|
foreach ( $post['meta'] as $key => $value ):
|
||||||
|
|
||||||
|
update_post_meta( $id, $key, $value );
|
||||||
|
|
||||||
|
endforeach;
|
||||||
|
|
||||||
|
endif;
|
||||||
|
|
||||||
|
endif;
|
||||||
|
|
||||||
|
endforeach;
|
||||||
|
|
||||||
|
endforeach;
|
||||||
|
|
||||||
|
return $input;
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,19 +3,21 @@ function sportspress_season_term_init() {
|
|||||||
$name = __( 'Seasons', 'sportspress' );
|
$name = __( 'Seasons', 'sportspress' );
|
||||||
$singular_name = __( 'Season', 'sportspress' );
|
$singular_name = __( 'Season', 'sportspress' );
|
||||||
$lowercase_name = __( 'season', 'sportspress' );
|
$lowercase_name = __( 'season', 'sportspress' );
|
||||||
$object_type = array( 'sp_team', 'sp_event', 'sp_player', 'sp_staff' );
|
$object_type = array( 'sp_event', 'sp_calendar', 'sp_team', 'sp_table', 'sp_player', 'sp_list', 'sp_staff' );
|
||||||
$labels = sportspress_get_term_labels( $name, $singular_name, $lowercase_name );
|
$labels = sportspress_get_term_labels( $name, $singular_name, $lowercase_name );
|
||||||
$args = array(
|
$args = array(
|
||||||
'label' => $name,
|
'label' => $name,
|
||||||
'labels' => $labels,
|
'labels' => $labels,
|
||||||
'public' => true,
|
'public' => true,
|
||||||
'hierarchical' => true,
|
'hierarchical' => true,
|
||||||
'rewrite' => array( 'slug' => 'league' )
|
'rewrite' => array( 'slug' => 'season' )
|
||||||
);
|
);
|
||||||
register_taxonomy( 'sp_season', $object_type, $args );
|
register_taxonomy( 'sp_season', $object_type, $args );
|
||||||
register_taxonomy_for_object_type( 'sp_season', 'sp_team' );
|
|
||||||
register_taxonomy_for_object_type( 'sp_season', 'sp_event' );
|
register_taxonomy_for_object_type( 'sp_season', 'sp_event' );
|
||||||
|
register_taxonomy_for_object_type( 'sp_season', 'sp_calendar' );
|
||||||
|
register_taxonomy_for_object_type( 'sp_season', 'sp_team' );
|
||||||
register_taxonomy_for_object_type( 'sp_season', 'sp_player' );
|
register_taxonomy_for_object_type( 'sp_season', 'sp_player' );
|
||||||
|
register_taxonomy_for_object_type( 'sp_season', 'sp_list' );
|
||||||
register_taxonomy_for_object_type( 'sp_season', 'sp_staff' );
|
register_taxonomy_for_object_type( 'sp_season', 'sp_staff' );
|
||||||
}
|
}
|
||||||
add_action( 'init', 'sportspress_season_term_init' );
|
add_action( 'init', 'sportspress_season_term_init' );
|
||||||
|
|||||||
58
admin/terms/venue.php
Normal file
58
admin/terms/venue.php
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
function sportspress_venue_term_init() {
|
||||||
|
$name = __( 'Venues', 'sportspress' );
|
||||||
|
$singular_name = __( 'Venue', 'sportspress' );
|
||||||
|
$lowercase_name = __( 'venue', 'sportspress' );
|
||||||
|
$object_type = array( 'sp_event', 'sp_calendar' );
|
||||||
|
$labels = sportspress_get_term_labels( $name, $singular_name, $lowercase_name );
|
||||||
|
$args = array(
|
||||||
|
'label' => $name,
|
||||||
|
'labels' => $labels,
|
||||||
|
'public' => true,
|
||||||
|
'hierarchical' => true,
|
||||||
|
'rewrite' => array( 'slug' => 'venue' )
|
||||||
|
);
|
||||||
|
register_taxonomy( 'sp_venue', $object_type, $args );
|
||||||
|
register_taxonomy_for_object_type( 'sp_venue', 'sp_event' );
|
||||||
|
register_taxonomy_for_object_type( 'sp_venue', 'sp_calendar' );
|
||||||
|
}
|
||||||
|
add_action( 'init', 'sportspress_venue_term_init' );
|
||||||
|
|
||||||
|
function sportspress_venue_edit_form_fields( $term ) {
|
||||||
|
$t_id = $term->term_id;
|
||||||
|
$term_meta = get_option( "taxonomy_$t_id" ); ?>
|
||||||
|
<tr class="form-field">
|
||||||
|
<th scope="row" valign="top"><label for="term_meta[sp_address]"><?php _e( 'Address', 'sportspress' ); ?></label></th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="term_meta[sp_address]" id="term_meta[sp_address]" value="<?php echo esc_attr( $term_meta['sp_address'] ) ? esc_attr( $term_meta['sp_address'] ) : ''; ?>">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
add_action( 'sp_venue_edit_form_fields', 'sportspress_venue_edit_form_fields', 10, 2 );
|
||||||
|
|
||||||
|
function sportspress_venue_add_form_fields() {
|
||||||
|
?>
|
||||||
|
<div class="form-field">
|
||||||
|
<label for="term_meta[sp_address]"><?php _e( 'Address', 'sportspress' ); ?></label>
|
||||||
|
<input type="text" name="term_meta[sp_address]" id="term_meta[sp_address]" value="">
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
add_action( 'sp_venue_add_form_fields', 'sportspress_venue_add_form_fields', 10, 2 );
|
||||||
|
|
||||||
|
function sportspress_save_venue_meta( $term_id ) {
|
||||||
|
if ( isset( $_POST['term_meta'] ) ) {
|
||||||
|
$t_id = $term_id;
|
||||||
|
$term_meta = get_option( "taxonomy_$t_id" );
|
||||||
|
$cat_keys = array_keys( $_POST['term_meta'] );
|
||||||
|
foreach ( $cat_keys as $key ) {
|
||||||
|
if ( isset ( $_POST['term_meta'][ $key ] ) ) {
|
||||||
|
$term_meta[$key] = $_POST['term_meta'][ $key ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
update_option( "taxonomy_$t_id", $term_meta );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add_action( 'edited_sp_venue', 'sportspress_save_venue_meta', 10, 2 );
|
||||||
|
add_action( 'create_sp_venue', 'sportspress_save_venue_meta', 10, 2 );
|
||||||
@@ -27,3 +27,11 @@ table.widefat td.column-sp_logo {
|
|||||||
width: 32px;
|
width: 32px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#sp_venue-adder h4,
|
||||||
|
#sp_team-adder h4,
|
||||||
|
#sp_season-adder h4,
|
||||||
|
#sp_player-adder h4,
|
||||||
|
#sp_position-adder h4 {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
@@ -44,6 +44,7 @@ require_once dirname( __FILE__ ) . '/admin/post-types/metric.php';
|
|||||||
require_once dirname( __FILE__ ) . '/admin/post-types/result.php';
|
require_once dirname( __FILE__ ) . '/admin/post-types/result.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/post-types/outcome.php';
|
require_once dirname( __FILE__ ) . '/admin/post-types/outcome.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/post-types/event.php';
|
require_once dirname( __FILE__ ) . '/admin/post-types/event.php';
|
||||||
|
require_once dirname( __FILE__ ) . '/admin/post-types/calendar.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/post-types/team.php';
|
require_once dirname( __FILE__ ) . '/admin/post-types/team.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/post-types/table.php';
|
require_once dirname( __FILE__ ) . '/admin/post-types/table.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/post-types/player.php';
|
require_once dirname( __FILE__ ) . '/admin/post-types/player.php';
|
||||||
@@ -52,6 +53,7 @@ require_once dirname( __FILE__ ) . '/admin/post-types/staff.php';
|
|||||||
|
|
||||||
// Terms
|
// Terms
|
||||||
require_once dirname( __FILE__ ) . '/admin/terms/season.php';
|
require_once dirname( __FILE__ ) . '/admin/terms/season.php';
|
||||||
|
require_once dirname( __FILE__ ) . '/admin/terms/venue.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/terms/position.php';
|
require_once dirname( __FILE__ ) . '/admin/terms/position.php';
|
||||||
|
|
||||||
// Presets
|
// Presets
|
||||||
@@ -78,7 +80,6 @@ require_once dirname( __FILE__ ) . '/admin/hooks/wp-enqueue-scripts.php';
|
|||||||
|
|
||||||
// Admin request actions
|
// Admin request actions
|
||||||
require_once dirname( __FILE__ ) . '/admin/hooks/admin-menu.php';
|
require_once dirname( __FILE__ ) . '/admin/hooks/admin-menu.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/hooks/admin-init.php';
|
|
||||||
require_once dirname( __FILE__ ) . '/admin/hooks/admin-enqueue-scripts.php';
|
require_once dirname( __FILE__ ) . '/admin/hooks/admin-enqueue-scripts.php';
|
||||||
require_once dirname( __FILE__ ) . '/admin/hooks/admin-head.php';
|
require_once dirname( __FILE__ ) . '/admin/hooks/admin-head.php';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user