get_settings(); // New settings. $new_data = array( 'page_builder' => ( isset( $_REQUEST['page_builder'] ) ) ? sanitize_key( $_REQUEST['page_builder'] ) : '', ); // Merge settings. $data = wp_parse_args( $new_data, $stored_data ); // Update settings. update_option( 'astra_sites_settings', $data ); wp_redirect( admin_url( '/themes.php?page=astra-sites' ) ); } } /** * Get single setting value * * @param string $key Setting key. * @param mixed $defaults Setting value. * @return mixed Stored setting value. */ function get_setting( $key = '', $defaults = '' ) { $settings = $this->get_settings(); if ( empty( $settings ) ) { return $defaults; } if ( array_key_exists( $key, $settings ) ) { return $settings[ $key ]; } return $defaults; } /** * Get Settings * * @return array Stored settings. */ function get_settings() { $defaults = array( 'page_builder' => '', ); $stored_data = get_option( 'astra_sites_settings', $defaults ); return wp_parse_args( $stored_data, $defaults ); } /** * Admin settings init */ public function init_admin_settings() { add_action( 'admin_menu', array( $this, 'add_admin_menu' ), 100 ); add_action( 'admin_notices', array( $this, 'notices' ) ); add_action( 'astra_sites_menu_general_action', array( $this, 'general_page' ) ); } /** * Admin notice * * @since 1.2.8 */ public function notices() { if ( 'appearance_page_astra-sites' !== get_current_screen()->id ) { return; } if ( ! class_exists( 'XMLReader' ) ) { ?>
get_setting( 'page_builder' ); if ( empty( $default_page_builder ) ) { ?>