id = 'general'; $this->label = __( 'General', 'sportspress' ); add_filter( 'sportspress_settings_tabs_array', array( $this, 'add_settings_page' ), 20 ); add_action( 'sportspress_settings_' . $this->id, array( $this, 'output' ) ); add_action( 'sportspress_admin_field_country', array( $this, 'country_setting' ) ); add_action( 'sportspress_admin_field_frontend_styles', array( $this, 'frontend_styles_setting' ) ); add_action( 'sportspress_settings_save_' . $this->id, array( $this, 'save' ) ); } /** * Get settings array * * @return array */ public function get_settings() { $settings = array( array( 'title' => __( 'General Options', 'sportspress' ), 'type' => 'title', 'desc' => '', 'id' => 'general_options' ), array( 'type' => 'country' ), array( 'type' => 'sectionend', 'id' => 'general_options' ), array( 'title' => __( 'Styles and Scripts', 'sportspress' ), 'type' => 'title', 'desc' => '', 'id' => 'script_styling_options' ), array( 'type' => 'frontend_styles' ), array( 'title' => __( 'Custom CSS', 'woocommerce' ), 'id' => 'sportspress_custom_css', 'css' => 'width:100%; height: 130px;', 'type' => 'textarea', ), array( 'title' => __( 'Scripts', 'sportspress' ), 'desc' => __( 'Responsive tables', 'sportspress' ), 'id' => 'sportspress_enable_responsive_tables', 'default' => 'yes', 'type' => 'checkbox', 'checkboxgroup' => 'start', 'desc_tip' => __( 'This will enable a script allowing the tables to be responsive.', 'sportspress' ), ), array( 'desc' => __( 'Sortable tables', 'sportspress' ), 'id' => 'sportspress_enable_sortable_tables', 'default' => 'yes', 'type' => 'checkbox', 'checkboxgroup' => '', 'desc_tip' => __( 'This will enable a script allowing the tables to be sortable.', 'sportspress' ), ), array( 'desc' => __( 'Live countdowns', 'sportspress' ), 'id' => 'sportspress_enable_live_countdowns', 'default' => 'yes', 'type' => 'checkbox', 'checkboxgroup' => 'end', 'desc_tip' => __( 'This will enable a script allowing the countdowns to be animated.', 'sportspress' ), ), array( 'type' => 'sectionend', 'id' => 'script_styling_options' ), array( 'title' => __( 'Text', 'sportspress' ), 'type' => 'title', 'desc' => __( 'The following options affect how words are displayed on the frontend.', 'sportspress' ), 'id' => 'text_options' ), ); foreach ( SP()->text->general as $key => $value ): $settings[] = array( 'title' => $value, 'id' => 'sportspress_' . $key . '_text', 'default' => '', 'placeholder' => $value, 'type' => 'text', ); endforeach; $settings[] = array( 'type' => 'sectionend', 'id' => 'text_options' ); return apply_filters( 'sportspress_general_settings', $settings ); // End general settings } /** * Save settings */ public function save() { $settings = $this->get_settings(); SP_Admin_Settings::save_fields( $settings ); if ( isset( $_POST['sportspress_default_country'] ) ) update_option( 'sportspress_default_country', $_POST['sportspress_default_country'] ); update_option( 'sportspress_enable_frontend_css', isset( $_POST['sportspress_enable_frontend_css'] ) ? 'yes' : 'no' ); if ( isset( $_POST['sportspress_frontend_css_primary'] ) ) { // Save settings $primary = ( ! empty( $_POST['sportspress_frontend_css_primary'] ) ) ? sp_format_hex( $_POST['sportspress_frontend_css_primary'] ) : ''; $heading = ( ! empty( $_POST['sportspress_frontend_css_heading'] ) ) ? sp_format_hex( $_POST['sportspress_frontend_css_heading'] ) : ''; $text = ( ! empty( $_POST['sportspress_frontend_css_text'] ) ) ? sp_format_hex( $_POST['sportspress_frontend_css_text'] ) : ''; $background = ( ! empty( $_POST['sportspress_frontend_css_background'] ) ) ? sp_format_hex( $_POST['sportspress_frontend_css_background'] ) : ''; $alternate = ( ! empty( $_POST['sportspress_frontend_css_alternate'] ) ) ? sp_format_hex( $_POST['sportspress_frontend_css_alternate'] ) : ''; $colors = array( 'primary' => $primary, 'heading' => $heading, 'text' => $text, 'background' => $background, 'alternate' => $alternate ); update_option( 'sportspress_frontend_css_colors', $colors ); } } /** * Country settings * * @access public * @return void */ public function country_setting() { $selected = (string) get_option( 'sportspress_default_country', 'AU' ); $continents = SP()->countries->continents; ?> color_picker( __( 'Primary', 'sportspress' ), 'sportspress_frontend_css_primary', $colors['primary'] ); $this->color_picker( __( 'Heading', 'sportspress' ), 'sportspress_frontend_css_heading', $colors['heading'] ); $this->color_picker( __( 'Text', 'sportspress' ), 'sportspress_frontend_css_text', $colors['text'] ); $this->color_picker( __( 'Background', 'sportspress' ), 'sportspress_frontend_css_background', $colors['background'] ); $this->color_picker( __( 'Alternate', 'sportspress' ), 'sportspress_frontend_css_alternate', $colors['alternate'] ); ?>
' . esc_html( $name ) . '
'; } } endif; return new SP_Settings_General();