170 lines
3.8 KiB
PHP
Executable File
170 lines
3.8 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* SportsPress Conditional Functions
|
|
*
|
|
* Functions for determining the current query/page.
|
|
*
|
|
* @author ThemeBoy
|
|
* @category Core
|
|
* @package SportsPress/Functions
|
|
* @version 2.0
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
|
|
/**
|
|
* is_sportspress - Returns true if on a page which uses SportsPress templates
|
|
*
|
|
* @access public
|
|
* @return bool
|
|
*/
|
|
function is_sportspress() {
|
|
return apply_filters( 'is_sportspress', ( is_singular( sp_post_types() ) ) ? true : false );
|
|
}
|
|
|
|
/**
|
|
* sp_post_types - Returns array of SP post types
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
if ( ! function_exists( 'sp_post_types' ) ) {
|
|
function sp_post_types() {
|
|
return apply_filters( 'sportspress_post_types', array( 'sp_event', 'sp_calendar', 'sp_team', 'sp_table', 'sp_player', 'sp_list', 'sp_staff' ) );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* sp_primary_post_types - Returns array of SP primary post types
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
if ( ! function_exists( 'sp_primary_post_types' ) ) {
|
|
function sp_primary_post_types() {
|
|
return apply_filters( 'sportspress_primary_post_types', array( 'sp_event', 'sp_team', 'sp_player', 'sp_staff' ) );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* sp_secondary_post_types - Returns array of SP secondary post types
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
if ( ! function_exists( 'sp_secondary_post_types' ) ) {
|
|
function sp_secondary_post_types() {
|
|
return apply_filters( 'sportspress_secondary_post_types', array_diff( sp_post_types(), sp_primary_post_types() ) );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* sp_config_types - Returns array of SP config types
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
if ( ! function_exists( 'sp_config_types' ) ) {
|
|
function sp_config_types() {
|
|
return apply_filters( 'sportspress_config_types', array( 'sp_result', 'sp_outcome', 'sp_column', 'sp_performance', 'sp_metric', 'sp_statistic' ) );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* sp_taxonomies - Returns array of SP taxonomies
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
if ( ! function_exists( 'sp_taxonomies' ) ) {
|
|
function sp_taxonomies() {
|
|
return apply_filters( 'sportspress_taxonomies', array( 'sp_league', 'sp_season', 'sp_venue', 'sp_position', 'sp_role' ) );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* sp_post_type_hierarchy - Returns array of SP primary post types
|
|
*
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
if ( ! function_exists( 'sp_post_type_hierarchy' ) ) {
|
|
function sp_post_type_hierarchy() {
|
|
return apply_filters(
|
|
'sportspress_post_type_hierarchy',
|
|
array(
|
|
'sp_event' => array( 'sp_calendar' ),
|
|
'sp_team' => array( 'sp_table' ),
|
|
'sp_player' => array( 'sp_list' ),
|
|
'sp_staff' => array()
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* is_sp_post_type - Returns true if post is SportsPress post type
|
|
*
|
|
* @access public
|
|
* @return bool
|
|
*/
|
|
if ( ! function_exists( 'is_sp_post_type' ) ) {
|
|
function is_sp_post_type( $typenow = null ) {
|
|
if ( $typenow == null ) global $typenow;
|
|
|
|
$post_types = sp_post_types();
|
|
|
|
if ( in_array( $typenow, $post_types ) )
|
|
return true;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* is_sp_config_type - Returns true if post is SportsPress config type
|
|
*
|
|
* @access public
|
|
* @return bool
|
|
*/
|
|
if ( ! function_exists( 'is_sp_config_type' ) ) {
|
|
function is_sp_config_type( $typenow = null ) {
|
|
if ( $typenow == null ) global $typenow;
|
|
|
|
$post_types = sp_config_types();
|
|
|
|
if ( in_array( $typenow, $post_types ) )
|
|
return true;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* is_sp_taxonomy - Returns true if post is SportsPress taxonomy
|
|
*
|
|
* @access public
|
|
* @return bool
|
|
*/
|
|
if ( ! function_exists( 'is_sp_taxonomy' ) ) {
|
|
function is_sp_taxonomy( $typenow = null ) {
|
|
if ( $typenow == null ) global $typenow;
|
|
|
|
$taxonomies = sp_taxonomies();
|
|
|
|
if ( in_array( $typenow, $taxonomies ) )
|
|
return true;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
if ( ! function_exists( 'is_ajax' ) ) {
|
|
|
|
/**
|
|
* is_ajax - Returns true when the page is loaded via ajax.
|
|
*
|
|
* @access public
|
|
* @return bool
|
|
*/
|
|
function is_ajax() {
|
|
return defined( 'DOING_AJAX' );
|
|
}
|
|
} |