WC_Settings_Payment_Gateways::save()

Save settings.


Description Description


Source Source

File: includes/admin/settings/class-wc-settings-payment-gateways.php

	public function save() {
		global $current_section;

		$wc_payment_gateways = WC_Payment_Gateways::instance();

		// Save settings fields based on section.
		WC_Admin_Settings::save_fields( $this->get_settings( $current_section ) );

		if ( ! $current_section ) {
			// If section is empty, we're on the main settings page. This makes sure 'gateway ordering' is saved.
			$wc_payment_gateways->process_admin_options();
			$wc_payment_gateways->init();
		} else {
			// There is a section - this may be a gateway or custom section.
			foreach ( $wc_payment_gateways->payment_gateways() as $gateway ) {
				if ( in_array( $current_section, array( $gateway->id, sanitize_title( get_class( $gateway ) ) ), true ) ) {
					do_action( 'woocommerce_update_options_payment_gateways_' . $gateway->id );
					$wc_payment_gateways->init();
				}
			}

			do_action( 'woocommerce_update_options_' . $this->id . '_' . $current_section );
		}
	}


Top ↑

User Contributed Notes User Contributed Notes

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