Automattic\WooCommerce\Internal\StockNotifications\Admin

SettingsController::process_product_objectpublic staticWC 1.0

Save product settings meta.

Method of the class: SettingsController{}

No Hooks.

Returns

null. Nothing (null).

Usage

$result = SettingsController::process_product_object( $product );
$product(WC_Product) (required)
The product object.

SettingsController::process_product_object() code WC 10.3.6

public static function process_product_object( $product ) {

	if ( ! Config::allows_signups() ) {
		return;
	}

	if ( ! is_a( $product, 'WC_Product' ) ) {
		return;
	}

	if ( ! $product->is_type( Config::get_supported_product_types() ) ) {
		return;
	}

	$posted_is_enabled = isset( $_POST[ Config::get_product_signups_meta_key() ] );
	$current_value     = $product->get_meta( Config::get_product_signups_meta_key() );
	if ( ( $posted_is_enabled && 'no' === $current_value ) || ( ! $posted_is_enabled && 'yes' === $current_value ) ) {
		check_admin_referer( 'woocommerce-customer-stock-notifications-edit-product', 'customer_stock_notifications_edit_product_security' );

		$product->update_meta_data( Config::get_product_signups_meta_key(), $posted_is_enabled ? 'yes' : 'no' );
	}
}