*/ class Amp_WP_General { /** * The theme that's responsible for keeping the values of theme path of the plugin. * * @since 1.0.4 * @access private * @var Amp_WP_General_Theme $amp_wp_theme keep all the theme for the plugin. */ private $amp_wp_theme; /** * Initialize the class and set its properties. * * @since 1.0.4 */ public function __construct() { $this->amp_wp_theme = array( 'name' => 'global_theme', 'title' => __( 'Global theme', 'amp-wp' ), 'desc' => __( 'Select design for your AMP pages, from the list of AMP WP theme plugins installed and activated.
Note:The AMP WP Customizer handles the built-in display. Additional AMP WP themes can be customized using their own customizers only.', 'amp-wp' ), 'default' => 'Tez', 'class' => '', 'content' => array( 'attr' => array(), 'options' => array( 'Tez' => __( 'tez', 'amp-wp' ), ), ), ); // Filter -> Add General Settings Tab add_filter( 'amp_wp_settings_tab_menus', array( $this, 'amp_wp_add_general_tab' ) ); // Action -> Display General Settings add_action( 'amp_wp_settings_tab_section', array( $this, 'amp_wp_add_general_settings' ) ); // Action -> Save General Settings add_action( 'amp_wp_save_setting_sections', array( $this, 'amp_wp_save_general_settings' ) ); } /** * Add General Settings Tab * * @since 1.0.4 * * @param array $tabs Settings Tab * @return array $tabs Merge array of Settings Tab with General Tab. */ public function amp_wp_add_general_tab( $tabs ) { $tabs['general'] = __( 'General', 'amp-wp' ); return $tabs; } /** * Display General Settings * * This function is used to display settings general section & also display * the stored settings. * * @since 1.0.4 */ public function amp_wp_add_general_settings() { // Get General Settings $theme_name = ''; $amp_on_home = ''; $amp_on_search = ''; $amp_on_post_types = array(); $amp_on_taxonomies = array(); $exclude_urls = ''; $excluded_urls = ''; $mobile_auto_redirect = ''; $url_structure = 'start-point'; if ( get_option( 'amp_wp_general_settings' ) ) { $amp_wp_general_settings = get_option( 'amp_wp_general_settings' ); $amp_on_home = ( isset( $amp_wp_general_settings['amp_on_home'] ) && ! empty( $amp_wp_general_settings['amp_on_home'] ) ) ? $amp_wp_general_settings['amp_on_home'] : ''; $amp_on_search = ( isset( $amp_wp_general_settings['amp_on_search'] ) && ! empty( $amp_wp_general_settings['amp_on_search'] ) ) ? $amp_wp_general_settings['amp_on_search'] : ''; $amp_on_post_types = ( isset( $amp_wp_general_settings['amp_on_post_types'] ) && ! empty( $amp_wp_general_settings['amp_on_post_types'] ) ) ? $amp_wp_general_settings['amp_on_post_types'] : array(); $amp_on_taxonomies = ( isset( $amp_wp_general_settings['amp_on_taxonomies'] ) && ! empty( $amp_wp_general_settings['amp_on_taxonomies'] ) ) ? $amp_wp_general_settings['amp_on_taxonomies'] : array(); $exclude_urls = ( isset( $amp_wp_general_settings['exclude_urls'] ) && ! empty( $amp_wp_general_settings['exclude_urls'] ) ) ? $amp_wp_general_settings['exclude_urls'] : ''; // $excluded_urls = ( isset( $amp_wp_general_settings['excluded_urls'] ) && !empty( $amp_wp_general_settings['excluded_urls'] ) ) ? $amp_wp_general_settings['excluded_urls'] : ''; $url_structure = ( isset( $amp_wp_general_settings ) && ! empty( $amp_wp_general_settings['url_structure'] ) ) ? $amp_wp_general_settings['url_structure'] : 'start-point'; $mobile_auto_redirect = ( isset( $amp_wp_general_settings['mobile_auto_redirect'] ) && ! empty( $amp_wp_general_settings['mobile_auto_redirect'] ) ) ? intval( $amp_wp_general_settings['mobile_auto_redirect'] ) : ''; $theme_name = ( isset( $amp_wp_general_settings['theme_name'] ) && ! empty( $amp_wp_general_settings['theme_name'] ) ) ? esc_attr( $amp_wp_general_settings['theme_name'] ) : ''; } // Load View require_once AMP_WP_DIR_PATH . 'admin/partials/settings/amp-wp-admin-general.php'; } /** * Save General Settings * * @since 1.0.4 */ public function amp_wp_save_general_settings() { $amp_wp_general_settings = filter_input_array( INPUT_POST ); if ( $amp_wp_general_settings ) : foreach ( $amp_wp_general_settings as $key => $value ) { if ( strstr( $key, 'general_settings' ) ) { if ( isset( $value['amp_on_home'] ) ) { $value['amp_on_home'] = 1; } if ( isset( $value['amp_on_search'] ) ) { $value['amp_on_search'] = 1; } if ( isset( $value['mobile_auto_redirect'] ) ) { $value['mobile_auto_redirect'] = 1; } update_option( sanitize_key( $key ), $value ); } } endif; } } new Amp_WP_General();