WC_Settings_Shipping::save()

Save settings.


Description Description


Source Source

File: includes/admin/settings/class-wc-settings-shipping.php

	public function save() {
		global $current_section;

		switch ( $current_section ) {
			case 'options':
				WC_Admin_Settings::save_fields( $this->get_settings() );
				do_action( 'woocommerce_update_options_' . $this->id . '_options' );
				break;
			case 'classes':
				do_action( 'woocommerce_update_options_' . $this->id . '_classes' );
				break;
			case '':
				break;
			default:
				$wc_shipping        = WC_Shipping::instance();
				$is_shipping_method = false;

				foreach ( $wc_shipping->get_shipping_methods() as $method_id => $method ) {
					if ( in_array( $current_section, array( $method->id, sanitize_title( get_class( $method ) ) ), true ) ) {
						$is_shipping_method = true;
						do_action( 'woocommerce_update_options_' . $this->id . '_' . $method->id );
					}
				}
				if ( ! $is_shipping_method ) {
					WC_Admin_Settings::save_fields( $this->get_settings( $current_section ) );
				}
				break;
		}

		// Increments the transient version to invalidate cache.
		WC_Cache_Helper::get_transient_version( 'shipping', true );
	}


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.