array( 'src' => str_replace( array( 'http:', 'https:' ), '', SP()->plugin_url() ) . '/assets/css/sportspress.css', 'deps' => '', 'version' => SP_VERSION, 'media' => 'all' ), ) ); } /** * Register/queue frontend scripts. * * @access public * @return void */ public function load_scripts() { global $typenow; // Scripts wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'jquery-datatables', plugin_dir_url( SP_PLUGIN_FILE ) .'assets/js/jquery.dataTables.min.js', array( 'jquery' ), '1.9.4', true ); wp_enqueue_script( 'jquery-countdown', plugin_dir_url( SP_PLUGIN_FILE ) .'assets/js/jquery.countdown.min.js', array( 'jquery' ), '2.0.2', true ); wp_enqueue_script( 'sportspress', plugin_dir_url( SP_PLUGIN_FILE ) .'assets/js/sportspress.js', array( 'jquery' ), time(), true ); if ( is_singular( 'sp_event' ) || is_tax( 'sp_venue' ) ): wp_enqueue_script( 'google-maps', 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false', array(), '3.exp', true ); wp_enqueue_script( 'sp-maps', plugin_dir_url( SP_PLUGIN_FILE ) .'assets/js/sp-maps.js', array( 'jquery', 'google-maps' ), time(), true ); endif; // Localize scripts. wp_localize_script( 'sportspress', 'localized_strings', array( 'days' => __( 'days', 'sportspress' ), 'hrs' => __( 'hrs', 'sportspress' ), 'mins' => __( 'mins', 'sportspress' ), 'secs' => __( 'secs', 'sportspress' ), 'previous' => __( 'Previous', 'sportspress' ), 'next' => __( 'Next', 'sportspress' ) ) ); // CSS Styles wp_enqueue_style( 'dashicons' ); $enqueue_styles = $this->get_styles(); if ( $enqueue_styles ): add_action( 'wp_print_scripts', array( $this, 'custom_css' ), 30 ); foreach ( $enqueue_styles as $handle => $args ) wp_enqueue_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'] ); endif; } /** * SP requires jQuery 1.8 since it uses functions like .on() for events and .parseHTML. * If, by the time wp_print_scrips is called, jQuery is outdated (i.e not * using the version in core) we need to deregister it and register the * core version of the file. * * @access public * @return void */ public function check_jquery() { global $wp_scripts; // Enforce minimum version of jQuery if ( ! empty( $wp_scripts->registered['jquery']->ver ) && ! empty( $wp_scripts->registered['jquery']->src ) && 0 >= version_compare( $wp_scripts->registered['jquery']->ver, '1.8' ) ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', '/wp-includes/js/jquery/jquery.js', array(), '1.8' ); wp_enqueue_script( 'jquery' ); } } public function custom_css() { $enabled = get_option( 'sportspress_enable_frontend_css', 'yes' ); $custom = get_option( 'sportspress_custom_css', null ); if ( $enabled == 'yes' || ! empty( $custom ) ) { $colors = get_option( 'sportspress_frontend_css_colors' ); echo ''; } } } new SP_Frontend_Scripts();