Изменить всю строку продукта в WooCommerce Subscripitons
Я хочу изменить текст и порядок строки цены в подписках WooCommerce. Прямо сейчас это говорит:
"35,00 долларов США 1-го числа каждого месяца в течение 11 месяцев и 35,00 долларов США за регистрацию".
и я хочу это сказать:
"35,00 долл. США за первую коробку и затем 35,00 долл. США 1-го числа каждого месяца в течение 11 месяцев".
Я нашел этот код, который я могу использовать, чтобы изменить "плату за регистрацию" на "для первого ящика":
/* WooCommerce Subscriptions Price String */
function wc_subscriptions_custom_price_string( $pricestring ) {
$newprice = str_replace( 'sign-up fee', 'for the first box', $pricestring );
return $newprice;
}
add_filter( 'woocommerce_subscriptions_product_price_string', 'wc_subscriptions_custom_price_string' );
add_filter( 'woocommerce_subscription_price_string', 'wc_subscriptions_custom_price_string' );
Теперь написано "35,00 долларов США 1-го числа каждого месяца в течение 11 месяцев и 35,00 долларов США за первую коробку".
Как я могу изменить заказ?
1 ответ
Решение
Просто измените порядок строки, взорвав оригинал в массив:
function wc_subscriptions_custom_price_string( $pricestring ) {
$replace_price = str_replace( 'sign-up fee', 'for the first box', $pricestring );
$aPrice = explode(" and a ", $replace_price);
$newprice = $aPrice[1] . " and then " . $aPrice[0];
$finalprice = str_replace(" on "," +shipping on ", $newprice);
return finalprice;
}
add_filter( 'woocommerce_subscriptions_product_price_string', 'wc_subscriptions_custom_price_string' );
add_filter( 'woocommerce_subscription_price_string', 'wc_subscriptions_custom_price_string' );
Смотрите: взорваться ()
Или, если вы хотите стать модным:
$newprice = implode(" and then ", array_reverse($aPrice));