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 );
}
}