Я нашел код, похожий на тот, что я ищу, но это лучшее, что я могу придумать на данный момент.
Как правило, когда у меня есть продукты по подписке, при этом существует предоплата в размере 170 долларов США и ежемесячная плата в размере 0,00 долларов США в течение 12 месяцев.
На странице моего продукта отображается "От: $ 0,00 / месяц и плата за регистрацию в размере $ 170,00"
Я хочу удалить «От: 0,00 долл. США в месяц и a» и просто оставить «170 долл. Единовременный платеж» на экране, если продукт имеет ежемесячную плату 0. Лучший код, который я могу придумать, это ниже (который решает проблему, но не может удалить сумму в 0,00 $
function change_subscription_product_string( $subscription_string, $product, $include )
{
if( $include['sign_up_fee'] ){
$subscription_string = str_replace('sign-up fee', 'one-off payment', $subscription_string);
$subscription_string = str_replace('and a ', "", $subscription_string);
$subscription_string = str_replace('.00', "", $subscription_string);
$subscription_string = str_replace(' / month and a', "/ month,", $subscription_string);
$subscription_string = str_replace('From: ', "", $subscription_string);
}
return $subscription_string;
}
add_filter( 'woocommerce_subscriptions_product_price_string', 'change_subscription_product_string', 10, 3 );