WC_Settings_Advanced::save()
Save settings.
Description Description
Source Source
File: includes/admin/settings/class-wc-settings-advanced.php
public function save() { global $current_section; if ( apply_filters( 'woocommerce_rest_api_valid_to_save', ! in_array( $current_section, array( 'keys', 'webhooks' ), true ) ) ) { $settings = $this->get_settings( $current_section ); // Prevent the T&Cs and checkout page from being set to the same page. if ( isset( $_POST['woocommerce_terms_page_id'], $_POST['woocommerce_checkout_page_id'] ) && $_POST['woocommerce_terms_page_id'] === $_POST['woocommerce_checkout_page_id'] ) { // WPCS: input var ok, CSRF ok. $_POST['woocommerce_terms_page_id'] = ''; } // Prevent the Cart, checkout and my account page from being set to the same page. if ( isset( $_POST['woocommerce_cart_page_id'], $_POST['woocommerce_checkout_page_id'], $_POST['woocommerce_myaccount_page_id'] ) ) { // WPCS: input var ok, CSRF ok. if ( $_POST['woocommerce_cart_page_id'] === $_POST['woocommerce_checkout_page_id'] ) { // WPCS: input var ok, CSRF ok. $_POST['woocommerce_checkout_page_id'] = ''; } if ( $_POST['woocommerce_cart_page_id'] === $_POST['woocommerce_myaccount_page_id'] ) { // WPCS: input var ok, CSRF ok. $_POST['woocommerce_myaccount_page_id'] = ''; } if ( $_POST['woocommerce_checkout_page_id'] === $_POST['woocommerce_myaccount_page_id'] ) { // WPCS: input var ok, CSRF ok. $_POST['woocommerce_myaccount_page_id'] = ''; } } WC_Admin_Settings::save_fields( $settings ); if ( $current_section ) { do_action( 'woocommerce_update_options_' . $this->id . '_' . $current_section ); } } }