Jak ukryć ceny dla wybranych produktów?

Typowe dla klienta. Grzegorz jestem przed zmianą cen trzeba na 3 dni wyłączyć ceny dla produktów danego producenta. Hmm – wyłączenie cen dla konkretnej kategorii to już każdy o tym pisał. Ale jak wyłączyć ceny dla produktu z określonym atrybutem? Bo tak też zrobiłem. Producent do dodatkowy atrybut produktu. I żeby nie było prosto – mówimy o produktach z wariantami. No to do dzieła.

function gc_ukryj_cena( $price, $product ) {
	global $product;
	$producent = $product->get_attribute('pa_producent');
	if ($producent == 'Kobok' || $producent == 'Kobok Eko') {
           
           $price = ''; 
                
          remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');       		
	  remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 ); 
          remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
	  remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
	  remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );

	}
return $price;
}
add_filter( 'woocommerce_get_price_html', 'gc_ukryj_cena', 10, 2 );   
add_filter( 'woocommerce_variable_sale_price_html', 'gc_ukryj_cena', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'gc_ukryj_cena', 10, 2 );

Powyższy kod załatwia ukrywanie ceny dla atrybutu o nazwie 'Kobok’ oraz 'Kobok Eko’. Dodatkowo ukrywamy guzik dodaj do koszyka. Zarówno dla prostych produktów jak i produktów z wariantami oraz na stronie z kategorią produktów.

Przewijanie do góry