Buenos días
Quisiera agregar la fecha de reposición del producto o cuando llegasen más unidades
Alguna sugerencia?
Contenido solo visible a usuarios registrados
Hola Antonio.
Podrías crear un campo personalizado para añadir ese dato.
.- Instala el siguiente plugin:
-> https://es.wordpress.org/plugins/advanced-custom-fields/
.- Accede ACF -> Grupo de campos -> Añadir grupo de campo
.- En tipo de campo selecciona Selector de fecha
.- En el Nombre de etiqueta añade fecha_reposicion
.- En etiqueta de campo puedes poner Fecha estimada de reposición
.- En los ajustes selecciona Producto
.- Añade lo siguiente a tu plugin de códigos:
// Muestra la fecha de reposición solo si el producto está agotado
add_action('woocommerce_single_product_summary', 'we_mostrar_fecha_reposicion_producto', 25);
function we_mostrar_fecha_reposicion_producto() {
global $post, $product;
if ( ! $product->is_in_stock() ) {
$fecha = get_field('fecha_reposicion', $post->ID);
if ($fecha) {
echo '<p style="color: red;"><strong>Fecha estimada de reposición:</strong> ' . date_i18n('d/m/Y', strtotime($fecha)) . '</p>';
}
}
}
// Muestra la fecha de reposición en la tienda, solo si el producto está agotado
add_action('woocommerce_after_shop_loop_item_title', 'we_mostrar_fecha_reposicion_en_loop', 15);
function we_mostrar_fecha_reposicion_en_loop() {
global $product, $post;
if ( ! $product->is_in_stock() ) {
$fecha = get_field('fecha_reposicion', $post->ID);
if ($fecha) {
echo '<p class="fecha-reposicion-loop" style="color: #cc0000; font-size: 0.9em; margin: 5px 0;">Reposición: ' . date_i18n('d/m/Y', strtotime($fecha)) . '</p>';
}
}
}
// Muestra la fecha de reposición en el checkout para productos agotados
add_action('woocommerce_checkout_after_order_review', 'we_mostrar_fechas_reposicion_en_checkout');
function we_mostrar_fechas_reposicion_en_checkout() {
echo '<div class="fecha-reposicion-checkout" style="margin-top: 20px;">';
foreach (WC()->cart->get_cart() as $cart_item) {
$product = $cart_item['data'];
$product_id = $product->get_id();
if ( ! $product->is_in_stock() ) {
$fecha = get_field('fecha_reposicion', $product_id);
if ($fecha) {
$nombre = $product->get_name();
$fecha_formateada = date_i18n('d/m/Y', strtotime($fecha));
echo '<p style="color: #cc0000;"><strong>' . esc_html($nombre) . '</strong><br>Fecha estimada de reposición: ' . esc_html($fecha_formateada) . '</p>';
}
}
}
echo '</div>';
}
.- Edita un producto y veras que tienes un campo para añadir la fecha:
Revisa si es eso lo que buscas y nos comentas.
Un Saludo
@pepesoler, gracias
Lo probaré en un clon y viendo la opción de subirlo como meta ya que son muchas las reposiciones y en distintas fecha.
Como he comentado muchas veces, actualizamos precios mediante csv porque con unos 20.000 productos, sería impensable hacerlo manualmente.
Os mantengo informados.
Hola Antonio,
Estupendo, quedamos atentos.
Un saludo 🖐️
Buenos días
Tras algunas pruebas para localizar en la bdatos cómo se representan, queda así:
"Meta: fecha_reposicion","Meta: _fecha_reposicion"
20250706,field_6868b722408b7
20291231,field_6868b722408b7
Por si a alguien le sirve.
Ahora a por la estética....
Gracias chicos.
Hola Antonio,
Encantados de poder ayudar, si tienes alguna duda con respecto a la estética puedes crear un nuevo tema para separarlos y con todo gusto lo vemos.
Un saludo 🖐️