я хотел бы отобразить цену woocommerce на кнопке «Добавить в корзину».
код в этом посте работает для вариаций, но не для простого продукта. есть идеи, как мне изменить его для работы с простым продуктом?
add_filter( 'woocommerce_product_add_to_cart_text', 'your_slug_add_to_cart_text', 10, 2 );
function your_slug_add_to_cart_text( $text, $product ) {
return sprintf( '%s - %s', $text, strip_tags( wc_price( wc_get_price_to_display( $product ) ) ) );
}
Для страницы сведений о простых продуктах:
add_filter( 'woocommerce_product_single_add_to_cart_text', 'add_to_cart_price_for_simple_product', 20, 2 );
/**
* For the detail page of simple products.
*/
function add_to_cart_price_for_simple_product( $button_text, $product ) {
// For Simple products.
if ( $product->is_type( 'simple' ) ) {
$product_price = wc_price( wc_get_price_to_display( $product ) );
return $button_text . ' - Just ' . strip_tags( $product_price );
} else {
$product_price = wc_price( wc_get_price_to_display( $product ) );
return $button_text;
}
}
add_action( 'woocommerce_single_product_summary', 'hide_product_simple_price', 8 );
/**
* Hide the default price section on the detail page.
*/
function hide_product_simple_price() {
global $product;
if ( $product->is_type( 'simple' ) ) {
?>
<style> .woocommerce .price, .woocommerce-page .price { display: none; } </style>
<?php
}
}
Это большое спасибо, как бы я мог добавить интервал вокруг цены, это было просто в исходном примере, но с этим, я считаю, что strip_tags означает, что это невозможно!