$val ) { if ( is_array( $val ) ) { foreach ( $val as $k => $v ) { $new_settings[ $key ][ $k ] = ( isset( $val[ $k ] ) ) ? sanitize_text_field( $v ) : ''; } } else { $new_settings[ $key ] = ( isset( $input_settings[ $key ] ) ) ? sanitize_text_field( $val ) : ''; } } } Cartflows_Helper::update_admin_settings_option( '_cartflows_common', $new_settings, true ); $query = array( 'message' => 'saved', ); $redirect_to = add_query_arg( $query, $url ); wp_redirect( $redirect_to ); exit; } // End if statement. } /** * Check is cartflows admin. * * @since 1.0.0 * @return boolean */ static public function is_global_admin() { $current_screen = get_current_screen(); if ( is_object( $current_screen ) && isset( $current_screen->post_type ) && ( CARTFLOWS_FLOW_POST_TYPE === $current_screen->post_type || CARTFLOWS_STEP_POST_TYPE === $current_screen->post_type ) ) { return true; } return false; } /** * Check is flow admin. * * @since 1.0.0 * @return boolean */ static public function is_flow_edit_admin() { $current_screen = get_current_screen(); if ( is_object( $current_screen ) && isset( $current_screen->post_type ) && ( CARTFLOWS_FLOW_POST_TYPE === $current_screen->post_type ) && isset( $current_screen->base ) && ( 'post' === $current_screen->base ) ) { return true; } return false; } /** * Global Admin Scripts. * * @since 1.0.0 */ static public function global_admin_scripts() { $localize = array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'ajax_nonce' => wp_create_nonce( 'cartflows-nonce' ), ); wp_localize_script( 'jquery', 'cartflows_admin', apply_filters( 'cartflows_admin_js_localize', $localize ) ); if ( self::is_global_admin() ) { // Styles. wp_enqueue_style( 'cartflows-global-admin', CARTFLOWS_URL . 'admin/assets/css/global-admin.css', array(), CARTFLOWS_VER ); wp_style_add_data( 'cartflows-global-admin', 'rtl', 'replace' ); wp_enqueue_script( 'wcf-global-admin', CARTFLOWS_URL . 'admin/assets/js/global-admin.js', array( 'jquery' ), CARTFLOWS_VER, true ); do_action( 'cartflows_global_admin_scripts' ); } } /** * Global Admin Data. * * @since 1.0.0 */ static public function global_admin_data() { $current_screen = get_current_screen(); if ( CARTFLOWS_FLOW_POST_TYPE !== $current_screen->post_type ) { return; } ?>
wp_create_nonce( 'cartflows-widget-nonce' ), ); wp_localize_script( 'cartflows-admin-settings', 'cartflows', apply_filters( 'cartflows_js_localize', $localize ) ); } /** * Save All admin settings here */ static public function save_settings() { // Only admins can save settings. if ( ! current_user_can( 'manage_options' ) ) { return; } self::save_common_settings(); // Let extensions hook into saving. do_action( 'cartflows_admin_settings_save' ); } /** * Get and return page URL * * @param string $menu_slug Menu name. * @since 1.0.0 * @return string page url */ static public function get_page_url( $menu_slug ) { $parent_page = self::$default_menu_position; if ( strpos( $parent_page, '?' ) !== false ) { $query_var = '&page=' . self::$plugin_slug; } else { $query_var = '?page=' . self::$plugin_slug; } $parent_page_url = admin_url( $parent_page . $query_var ); $url = $parent_page_url . '&action=' . $menu_slug; return esc_url( $url ); } } Cartflows_Admin::init();