Set a Minimum Subscription Period in WooCommerce Subscriptions
WooCommerce Subscriptions currently doesn’t allow a minimum subscription time period when setting up a subscription, nut you can manipulate the WooCommerce Subscription Sign-up fee and free trial fields to allow you to do so.
Let’s say you want a minimum 3 month sign up period which then defaults to monthly after the 3 months is up, the monthly fee is $50 – so the initial payment is $150 then it goes to $50 after 3 months have passed.
So in the above you would set the regular subscription price at $50 a month, set the Sign-Up fee at $150 and put 3 months for the free trial
Problem on the front end is the wording – it’s not a free trial!
There is a filter to change that text string – woocommerce_subscriptions_product_price_string, so in your functions.php add a code snippet that replaces part of the string to make more sense.
add_filter('woocommerce_subscriptions_product_price_string', 'woo_change_subscriptions_product_price_string' ); function woo_change_subscriptions_product_price_string( $subscription_string ) { $subscription_string = str_replace( 'with a', 'with an initial', $subscription_string ); $subscription_string = str_replace( 'free trial and a', 'minimum subscription at', $subscription_string ); $subscription_string = str_replace( ' sign-up fee', '', $subscription_string ); return $subscription_string; }
Now the initial minimum time/money is paid and then the subscription goes to a monthly charge.