Wyświetlanie jednej ceny dla produktów z wariatami

Aby wyświetlić cenę produktu z wariantami jako pojedynczą wartość należy do pliku functions.php motywu dodać poniższy kod. Po dodaniu kodu, na wszystkich stronach oprócz strony produktu, jako cena produktu z wariantami będzie prezentowana cena najtańszego wariantu z przedrostkiem „From”.

W kodzie można dokonać kilku modyfikacji:

  1.  Aby cena w tej postaci była wyświetlana na każdej podstronie należy usunąć warunek if ( !is_singular( 'product' ) ) {, czyli należy usunąć linie 3 i 18.
  2.  Można zmienić treść przedrostka i ewentualnie dodać treść przyrostka: linie 8 i 9
  3.  Jako wyświetlaną cenę można użyć ceny maksymalnej lub jednej z cen regularnych: w linii 16 należy zmienić `$min_price` na wymaganą cenę.
add_filter( 'woocommerce_variable_price_html', 'studiowp_woocommerce_variable_price_html', 10, 2 );
function studiowp_woocommerce_variable_price_html( $price, $product ) {
	if ( !is_singular( 'product' ) ) {
		$prices = $product->get_variation_prices( true );
		if ( empty( $prices['price'] ) ) {
			$price = apply_filters( 'woocommerce_variable_empty_price_html', '', $this );
		} else {
			$prefix = 'From ';
			$suffix = '';

			$min_price = current( $prices['price'] );
			$max_price     = end( $prices['price'] );
			$min_reg_price = current( $prices['regular_price'] );
			$max_reg_price = end( $prices['regular_price'] );

			$price = wc_price( $min_price );
			$price = $prefix . $price . $suffix;
		}
	}
	return $price;
}

View the code on Gist.

Kopiując kod pomiń znacznik <?php - w większości przypadków nie ma potrzeby dodawania go do pliku functions.php. Jeżeli nie używasz motywu potomnego pamiętaj o tym, że zmiany wprowadzone do pliku functions.php zostaną nadpisane podczas aktualizacji motywu.

O grola

Pasjonat Wordpressa i WooCommerce od wielu lat. Autor wtyczek i krótkich snippetów usprawniających działanie Wordpressa i WooCommerce.

Pokaż wszystkie wpisy grola →