Curiosamente, cuando agrega un producto de suscripción Para el carrito, no hay información de fecha de renovación a menos que se desplace hasta el fondo y pueda leer el texto muy pequeño debajo del «total recurrente» (ver captura de pantalla).
Sería mucho más útil si las fechas (y específicamente la fecha de inicio de la suscripción y la fecha de finalización de WooCommerce) se mostraron bien bajo el nombre del producto dentro de la tabla del carrito y en la revisión del pedido de la página de pago, para que el cliente sepa exactamente lo que está comprando antes de tener para descubrir eso.
Entonces, así es como se hace. ¡Disfrutar!
Php Snippet: Mostrar el período de suscripción @ WooCommerce Cart, Checkout, Página de gracias, Ver pedido
/** n*@snippet Subscription Interval @ Cart & Checkout n*@how-to https://tdestudiodesign.com/tutoriales n*@author Tomás Lucas D´Amario, TD Estudio Design n*@testedwith WooCommerce 6 n*@community https://tdestudiodesign.com/club */// -----------------------------------------// 1. Function to return subscription periodfunction tddesign_subscription_period_order_item_meta( $product, $order_date = '' ) {if ( is_a( $product, 'WC_Product_Subscription' ) || is_a( $product, 'WC_Product_Subscription_Variation' ) ) {if ( ! $order_date ) {$order_date = date( 'M d' );} else $order_date = date( 'M d', $order_date );$period = WC_Subscriptions_Product::get_period( $product );$interval = WC_Subscriptions_Product::get_interval( $product );if ( date( 't', strtotime( $order_date ) ) == date( 'd', strtotime( $order_date ) ) || date( "m", strtotime( $order_date ) ) != date( "m", strtotime( $order_date ." +1 month" ) ) - 1 ) {$end = date( 'M d Y', strtotime( '-1 day', strtotime( 'last day of ' . $interval . ' ' . $period, strtotime( $order_date ) ) ) );} else {$end = date( 'M d Y', strtotime( $interval . ' ' . $period . ' -1 day', strtotime( $order_date ) ) );}return '<p><small>Subscription period: ' . $order_date . ' - ' . $end . '</small></p>';}return '';}// -----------------------------------------// 2. Display interval @ Cart, Checkout, Orderadd_action( 'woocommerce_after_cart_item_name', 'tddesign_echo_subscription_period_cart_item_meta', 9999, 2 );function tddesign_echo_subscription_period_cart_item_meta( $cart_item, $cart_item_key ) {echo tddesign_subscription_period_order_item_meta( $cart_item['data'] );}add_filter( 'woocommerce_checkout_cart_item_quantity', 'tddesign_return_subscription_period_checkout_item_meta', 9999, 3 );function tddesign_return_subscription_period_checkout_item_meta( $html, $cart_item, $cart_item_key ) {return $html . tddesign_subscription_period_order_item_meta( $cart_item['data'] );}add_action( 'woocommerce_order_item_meta_start', 'tddesign_echo_subscription_period_order_item_meta', 9999, 4 );function tddesign_echo_subscription_period_order_item_meta( $item_id, $item, $order, $bool ) {$product = $item->get_product();echo tddesign_subscription_period_order_item_meta( $product, strtotime( $order->get_date_completed() ) );}
¿Dónde agregar código personalizado?
Debes colocar PHP personalizado en funciones.php y CSS personalizado en style.css del tema de su hijo: ¿Dónde colocar la personalización de WooCommerce?
Este código todavía funciona, a menos que informe lo contrario. Para excluir los conflictos, cambie temporalmente al tema de la tienda, deshabilite todos los complementos, excepto WooCommerce, y pruebe el fragmento nuevamente: Solución de problemas de WooCommerce 101
Contenido relacionado
Tomás Lucas D´Amario
Programador y Desarrollador
Experto en WooCommerce y WordPress. Trabajando como un profesional independiente de WooCommerce desde 2016. Su objetivo es ayudar a los empresarios y desarrolladores a superar sus pesadillas de WooCommerce. Sigueme o contactame por Linkedin