Automattic\WooCommerce\Internal\ProductFeed\Integrations\POSCatalog

POSProductVisibilitySync::sync_pos_visibility_to_variationsprivateWC 10.5.0

Sync POS visibility to all variations of a variable product.

Метод класса: POSProductVisibilitySync{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->sync_pos_visibility_to_variations( $product, $visible_in_pos ): void;
$product(WC_Product) (обязательный)
The variable product.
$visible_in_pos(true|false) (обязательный)
Whether the product should be visible in POS.

Список изменений

С версии 10.5.0 Введена.

Код POSProductVisibilitySync::sync_pos_visibility_to_variations() WC 10.5.2

private function sync_pos_visibility_to_variations( \WC_Product $product, bool $visible_in_pos ): void {
	$variation_ids = $product->get_children();
	foreach ( $variation_ids as $variation_id ) {
		if ( $visible_in_pos ) {
			wp_remove_object_terms( $variation_id, 'pos-hidden', 'pos_product_visibility' );
		} else {
			wp_set_object_terms( $variation_id, 'pos-hidden', 'pos_product_visibility' );
		}

		// Save variation to update date_modified.
		$variation = wc_get_product( $variation_id );
		if ( $variation ) {
			$variation->save();
		}
	}
}