Create module for Event Specs
Convert most of the previous changes to the module for easier maintenance
This commit is contained in:
@@ -93,15 +93,6 @@ class SP_Admin_Meta_Boxes {
|
|||||||
'priority' => 'high',
|
'priority' => 'high',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'sp_spec' => array(
|
|
||||||
'details' => array(
|
|
||||||
'title' => __( 'Specs', 'sportspress' ),
|
|
||||||
'save' => 'SP_Meta_Box_Spec_Details::save',
|
|
||||||
'output' => 'SP_Meta_Box_Spec_Details::output',
|
|
||||||
'context' => 'normal',
|
|
||||||
'priority' => 'high',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'sp_statistic' => array(
|
'sp_statistic' => array(
|
||||||
'details' => array(
|
'details' => array(
|
||||||
'title' => __( 'Details', 'sportspress' ),
|
'title' => __( 'Details', 'sportspress' ),
|
||||||
@@ -167,13 +158,6 @@ class SP_Admin_Meta_Boxes {
|
|||||||
'context' => 'normal',
|
'context' => 'normal',
|
||||||
'priority' => 'high',
|
'priority' => 'high',
|
||||||
),
|
),
|
||||||
'specs' => array(
|
|
||||||
'title' => __( 'Specs', 'sportspress' ),
|
|
||||||
'save' => 'SP_Meta_Box_Event_Specs::save',
|
|
||||||
'output' => 'SP_Meta_Box_Event_Specs::output',
|
|
||||||
'context' => 'side',
|
|
||||||
'priority' => 'default',
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
'sp_team' => array(
|
'sp_team' => array(
|
||||||
'details' => array(
|
'details' => array(
|
||||||
|
|||||||
@@ -34,8 +34,6 @@ function sp_get_screen_ids() {
|
|||||||
'sp_column',
|
'sp_column',
|
||||||
'edit-sp_metric',
|
'edit-sp_metric',
|
||||||
'sp_metric',
|
'sp_metric',
|
||||||
'edit-sp_spec',
|
|
||||||
'sp_spec',
|
|
||||||
'edit-sp_statistic',
|
'edit-sp_statistic',
|
||||||
'sp_statistic',
|
'sp_statistic',
|
||||||
'edit-sp_event',
|
'edit-sp_event',
|
||||||
|
|||||||
@@ -295,55 +295,6 @@ $columns = get_option( 'sportspress_player_columns', 'auto' );
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
|
||||||
<table class="form-table">
|
|
||||||
<tbody>
|
|
||||||
<?php
|
|
||||||
$args = array(
|
|
||||||
'post_type' => 'sp_spec',
|
|
||||||
'numberposts' => -1,
|
|
||||||
'posts_per_page' => -1,
|
|
||||||
'orderby' => 'menu_order',
|
|
||||||
'order' => 'ASC'
|
|
||||||
);
|
|
||||||
$data = get_posts( $args );
|
|
||||||
?>
|
|
||||||
<tr valign="top">
|
|
||||||
<th scope="row" class="titledesc">
|
|
||||||
<?php _e( 'Event Specs', 'sportspress' ) ?>
|
|
||||||
<p class="description"><?php _e( 'Add more details to an event.', 'sportspress' ); ?></p>
|
|
||||||
</th>
|
|
||||||
<td class="forminp">
|
|
||||||
<table class="widefat sp-admin-config-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col"><?php _e( 'Label', 'sportspress' ); ?></th>
|
|
||||||
<th scope="col"><?php _e( 'Variable', 'sportspress' ); ?></th>
|
|
||||||
<th scope="col"><?php _e( 'Description', 'sportspress' ); ?></th>
|
|
||||||
<th scope="col" class="edit"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<?php if ( $data ): $i = 0; foreach ( $data as $row ): ?>
|
|
||||||
<tr<?php if ( $i % 2 == 0 ) echo ' class="alternate"'; ?>>
|
|
||||||
<td class="row-title"><?php echo $row->post_title; ?></td>
|
|
||||||
<td><code><?php echo $row->post_name; ?></code></td>
|
|
||||||
<td><p class="description"><?php echo $row->post_excerpt; ?></p></td>
|
|
||||||
<td class="edit"><a class="button" href="<?php echo get_edit_post_link( $row->ID ); ?>"><?php _e( 'Edit', 'sportspress' ); ?></s></td>
|
|
||||||
</tr>
|
|
||||||
<?php $i++; endforeach; else: ?>
|
|
||||||
<tr class="alternate">
|
|
||||||
<td colspan="4"><?php _e( 'No results found.', 'sportspress' ); ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
</table>
|
|
||||||
<div class="tablenav bottom">
|
|
||||||
<a class="button alignleft" href="<?php echo admin_url( 'edit.php?post_type=sp_spec' ); ?>"><?php _e( 'View All', 'sportspress' ); ?></a>
|
|
||||||
<a class="button button-primary alignright" href="<?php echo admin_url( 'post-new.php?post_type=sp_spec' ); ?>"><?php _e( 'Add New', 'sportspress' ); ?></a>
|
|
||||||
<br class="clear">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
</table>
|
||||||
<table class="form-table">
|
<table class="form-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|||||||
@@ -343,36 +343,6 @@ class SP_Post_types {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
register_post_type( 'sp_spec',
|
|
||||||
apply_filters( 'sportspress_register_post_type_spec',
|
|
||||||
array(
|
|
||||||
'labels' => array(
|
|
||||||
'name' => __( 'Event Specs', 'sportspress' ),
|
|
||||||
'singular_name' => __( 'Event Spec', 'sportspress' ),
|
|
||||||
'add_new_item' => __( 'Add New Event Spec', 'sportspress' ),
|
|
||||||
'edit_item' => __( 'Edit Event Spec', 'sportspress' ),
|
|
||||||
'new_item' => __( 'New', 'sportspress' ),
|
|
||||||
'view_item' => __( 'View', 'sportspress' ),
|
|
||||||
'search_items' => __( 'Search', 'sportspress' ),
|
|
||||||
'not_found' => __( 'No results found.', 'sportspress' ),
|
|
||||||
'not_found_in_trash' => __( 'No results found.', 'sportspress' ),
|
|
||||||
),
|
|
||||||
'public' => false,
|
|
||||||
'show_ui' => true,
|
|
||||||
'capability_type' => 'sp_config',
|
|
||||||
'map_meta_cap' => true,
|
|
||||||
'publicly_queryable' => false,
|
|
||||||
'exclude_from_search' => true,
|
|
||||||
'hierarchical' => false,
|
|
||||||
'supports' => array( 'title', 'page-attributes', 'excerpt' ),
|
|
||||||
'has_archive' => false,
|
|
||||||
'show_in_nav_menus' => false,
|
|
||||||
'can_export' => false,
|
|
||||||
'show_in_menu' => false,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
register_post_type( 'sp_performance',
|
register_post_type( 'sp_performance',
|
||||||
apply_filters( 'sportspress_register_post_type_performance',
|
apply_filters( 'sportspress_register_post_type_performance',
|
||||||
array(
|
array(
|
||||||
|
|||||||
195
modules/sportspress-event-specs.php
Normal file
195
modules/sportspress-event-specs.php
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
Plugin Name: SportsPress Event Specs
|
||||||
|
Plugin URI: http://themeboy.com/
|
||||||
|
Description: Add event specs/stats to SportsPress.
|
||||||
|
Author: ThemeBoy
|
||||||
|
Author URI: http://themeboy.com/
|
||||||
|
Version: 2.5.10
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Exit if accessed directly
|
||||||
|
if ( ! defined( 'ABSPATH' ) ) exit;
|
||||||
|
|
||||||
|
if ( ! class_exists( 'SportsPress_Event_Specs' ) ) :
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main SportsPress Event Specs Class
|
||||||
|
*
|
||||||
|
* @class SportsPress_Event_Specs
|
||||||
|
* @version 2.5.10
|
||||||
|
*/
|
||||||
|
class SportsPress_Event_Specs {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
public function __construct() {
|
||||||
|
// Define constants
|
||||||
|
$this->define_constants();
|
||||||
|
|
||||||
|
// Actions
|
||||||
|
add_action( 'init', array( $this, 'register_post_type' ) );
|
||||||
|
add_action( 'sportspress_config_page', array( $this, 'sp_specs_config' ), 9 );
|
||||||
|
add_action( 'sportspress_include_post_type_handlers', array( $this, 'include_post_type_handler' ) );
|
||||||
|
|
||||||
|
// Filters
|
||||||
|
add_filter( 'sportspress_meta_boxes', array( $this, 'add_meta_boxes' ) );
|
||||||
|
add_filter( 'sportspress_screen_ids', array( $this, 'screen_ids' ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define constants.
|
||||||
|
*/
|
||||||
|
private function define_constants() {
|
||||||
|
if ( !defined( 'SP_EVENT_SPECS_VERSION' ) )
|
||||||
|
define( 'SP_EVENT_SPECS_VERSION', '2.5.10' );
|
||||||
|
|
||||||
|
if ( !defined( 'SP_EVENT_SPECS_URL' ) )
|
||||||
|
define( 'SP_EVENT_SPECS_URL', plugin_dir_url( __FILE__ ) );
|
||||||
|
|
||||||
|
if ( !defined( 'SP_EVENT_SPECS_DIR' ) )
|
||||||
|
define( 'SP_EVENT_SPECS_DIR', plugin_dir_path( __FILE__ ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register event specs post type
|
||||||
|
*/
|
||||||
|
public static function register_post_type() {
|
||||||
|
register_post_type( 'sp_spec',
|
||||||
|
apply_filters( 'sportspress_register_post_type_spec',
|
||||||
|
array(
|
||||||
|
'labels' => array(
|
||||||
|
'name' => __( 'Event Specs', 'sportspress' ),
|
||||||
|
'singular_name' => __( 'Event Spec', 'sportspress' ),
|
||||||
|
'add_new_item' => __( 'Add New Event Spec', 'sportspress' ),
|
||||||
|
'edit_item' => __( 'Edit Event Spec', 'sportspress' ),
|
||||||
|
'new_item' => __( 'New', 'sportspress' ),
|
||||||
|
'view_item' => __( 'View', 'sportspress' ),
|
||||||
|
'search_items' => __( 'Search', 'sportspress' ),
|
||||||
|
'not_found' => __( 'No results found.', 'sportspress' ),
|
||||||
|
'not_found_in_trash' => __( 'No results found.', 'sportspress' ),
|
||||||
|
),
|
||||||
|
'public' => false,
|
||||||
|
'show_ui' => true,
|
||||||
|
'capability_type' => 'sp_config',
|
||||||
|
'map_meta_cap' => true,
|
||||||
|
'publicly_queryable' => false,
|
||||||
|
'exclude_from_search' => true,
|
||||||
|
'hierarchical' => false,
|
||||||
|
'supports' => array( 'title', 'page-attributes', 'excerpt' ),
|
||||||
|
'has_archive' => false,
|
||||||
|
'show_in_nav_menus' => false,
|
||||||
|
'can_export' => false,
|
||||||
|
'show_in_menu' => false,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add screen ids.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function screen_ids( $ids ) {
|
||||||
|
return array_merge( $ids, array(
|
||||||
|
'edit-sp_spec',
|
||||||
|
'sp_spec',
|
||||||
|
) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Conditonally load the class and functions only needed when viewing this post type.
|
||||||
|
*/
|
||||||
|
public function include_post_type_handler() {
|
||||||
|
include_once( SP()->plugin_path() . '/includes/admin/post-types/class-sp-admin-cpt-spec.php' );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display Event Specs Table at Config Page
|
||||||
|
* @return null
|
||||||
|
*/
|
||||||
|
public function sp_specs_config() {
|
||||||
|
?>
|
||||||
|
<table class="form-table">
|
||||||
|
<tbody>
|
||||||
|
<?php
|
||||||
|
$args = array(
|
||||||
|
'post_type' => 'sp_spec',
|
||||||
|
'numberposts' => -1,
|
||||||
|
'posts_per_page' => -1,
|
||||||
|
'orderby' => 'menu_order',
|
||||||
|
'order' => 'ASC'
|
||||||
|
);
|
||||||
|
$data = get_posts( $args );
|
||||||
|
?>
|
||||||
|
<tr valign="top">
|
||||||
|
<th scope="row" class="titledesc">
|
||||||
|
<?php _e( 'Event Specs', 'sportspress' ) ?>
|
||||||
|
<p class="description"><?php _e( 'Add more details to an event.', 'sportspress' ); ?></p>
|
||||||
|
</th>
|
||||||
|
<td class="forminp">
|
||||||
|
<table class="widefat sp-admin-config-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col"><?php _e( 'Label', 'sportspress' ); ?></th>
|
||||||
|
<th scope="col"><?php _e( 'Variable', 'sportspress' ); ?></th>
|
||||||
|
<th scope="col"><?php _e( 'Description', 'sportspress' ); ?></th>
|
||||||
|
<th scope="col" class="edit"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<?php if ( $data ): $i = 0; foreach ( $data as $row ): ?>
|
||||||
|
<tr<?php if ( $i % 2 == 0 ) echo ' class="alternate"'; ?>>
|
||||||
|
<td class="row-title"><?php echo $row->post_title; ?></td>
|
||||||
|
<td><code><?php echo $row->post_name; ?></code></td>
|
||||||
|
<td><p class="description"><?php echo $row->post_excerpt; ?></p></td>
|
||||||
|
<td class="edit"><a class="button" href="<?php echo get_edit_post_link( $row->ID ); ?>"><?php _e( 'Edit', 'sportspress' ); ?></s></td>
|
||||||
|
</tr>
|
||||||
|
<?php $i++; endforeach; else: ?>
|
||||||
|
<tr class="alternate">
|
||||||
|
<td colspan="4"><?php _e( 'No results found.', 'sportspress' ); ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php endif; ?>
|
||||||
|
</table>
|
||||||
|
<div class="tablenav bottom">
|
||||||
|
<a class="button alignleft" href="<?php echo admin_url( 'edit.php?post_type=sp_spec' ); ?>"><?php _e( 'View All', 'sportspress' ); ?></a>
|
||||||
|
<a class="button button-primary alignright" href="<?php echo admin_url( 'post-new.php?post_type=sp_spec' ); ?>"><?php _e( 'Add New', 'sportspress' ); ?></a>
|
||||||
|
<br class="clear">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add meta boxes.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function add_meta_boxes( $meta_boxes ) {
|
||||||
|
$meta_boxes['sp_spec'] = array(
|
||||||
|
'details' => array(
|
||||||
|
'title' => __( 'Specs', 'sportspress' ),
|
||||||
|
'save' => 'SP_Meta_Box_Spec_Details::save',
|
||||||
|
'output' => 'SP_Meta_Box_Spec_Details::output',
|
||||||
|
'context' => 'normal',
|
||||||
|
'priority' => 'high',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
$meta_boxes['sp_event']['specs'] = array(
|
||||||
|
'title' => __( 'Specs', 'sportspress' ),
|
||||||
|
'save' => 'SP_Meta_Box_Event_Specs::save',
|
||||||
|
'output' => 'SP_Meta_Box_Event_Specs::output',
|
||||||
|
'context' => 'side',
|
||||||
|
'priority' => 'default',
|
||||||
|
);
|
||||||
|
return $meta_boxes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
endif;
|
||||||
|
|
||||||
|
new SportsPress_Event_Specs();
|
||||||
Reference in New Issue
Block a user