Files
sportspress/includes/sp-conditional-functions.php
2014-08-11 01:43:06 +10:00

140 lines
3.1 KiB
PHP
Executable File

<?php
/**
* SportsPress Conditional Functions
*
* Functions for determining the current query/page.
*
* @author ThemeBoy
* @category Core
* @package SportsPress/Functions
* @version 0.9
*/
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_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()
)
);
}
}
/**
* 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( 'sp_calendar', 'sp_table', 'sp_list' ) );
}
}
/**
* 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_terms', array( 'sp_league', 'sp_season', 'sp_venue', 'sp_position' ) );
}
}
/**
* 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;
}
}
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' );
}
}