Изменить всю строку продукта в WooCommerce Subscripitons - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу изменить текст и порядок строки цены в подписках 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 Ответ

0 голосов
/ 09 ноября 2018

Просто измените порядок строки, взорвав оригинал в массив:

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));
...