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() { ?> 'sp_spec', 'numberposts' => -1, 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC' ); $data = get_posts( $args ); ?>

>
post_title; ?> post_name; ?>

post_excerpt; ?>


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();