Skip to content

Pre-orders

El módulo de reservas permite marcar productos como reserva, mostrar la fecha de lanzamiento y cambiar el texto del botón. Útil para tiendas con electrónica, libros, juegos y otros productos ofrecidos antes de su lanzamiento.

Vaya a WooCommerce > Ajustes > Polski PRO > Reservas.

AjusteValor predeterminadoDescripción
Texto del botón”Zamów w przedsprzedaży”Texto global del botón para los productos en reserva
Texto de disponibilidad”Dostępne od {date}“Texto de plantilla mostrado en lugar del estado del stock
Formato de fechad.m.YFormato de visualización de la fecha de lanzamiento
Bloquear carrito mixtoImpide añadir productos estándar a un carrito con reservas
Mensaje de bloqueo”Produkty w przedsprzedaży muszą być zamawiane osobno.”Mensaje mostrado al intentar mezclar

Los ajustes de reserva se encuentran en el editor del producto, en la pestaña General del panel de datos del producto.

Campo metaClaveTipoDescripción
Activar reserva_polski_preorder_enabledboolMarca el producto como reserva
Fecha de lanzamiento_polski_preorder_release_datestring (Y-m-d)Fecha a partir de la cual el producto está disponible de forma estándar
Texto del botón_polski_preorder_button_textstringSobrescribe el texto global del botón para este producto
Texto de disponibilidad_polski_preorder_availability_textstringSobrescribe el texto global de disponibilidad
Terminal window
wp post meta update 123 _polski_preorder_enabled "yes"
wp post meta update 123 _polski_preorder_release_date "2026-06-15"
wp post meta update 123 _polski_preorder_button_text "Zamów teraz - premiera 15 czerwca"
update_post_meta($product_id, '_polski_preorder_enabled', 'yes');
update_post_meta($product_id, '_polski_preorder_release_date', '2026-06-15');

Cuando un producto está marcado como reserva, el texto del botón “Añadir al carrito” cambia al texto de reserva configurado. Esto se aplica a:

  • Página de producto individual
  • Páginas de archivo, categoría y etiqueta
  • Resultados de búsqueda
  • Bloques de WooCommerce (Product Grid, Product Collection)

En lugar del estado del stock estándar (“Hay existencias”, “Agotado”), se muestra el texto de disponibilidad con la fecha de lanzamiento. El marcador de posición {date} se reemplaza por la fecha formateada.

Ejemplo de visualización:

Dostępne od 15.06.2026

Una vez pasada la fecha de lanzamiento, el producto vuelve automáticamente al modo estándar. La desactivación la gestiona una tarea de WP-Cron que se ejecuta a diario a las 00:01.

/**
* Akcja wywoływana po automatycznej dezaktywacji przedsprzedaży.
*
* @param int $product_id ID produktu
* @param string $release_date Data premiery (Y-m-d)
*/
do_action('polski_pro/preorder/deactivated', int $product_id, string $release_date);

Ejemplo - notificar a los clientes sobre la disponibilidad:

add_action('polski_pro/preorder/deactivated', function (int $product_id, string $release_date): void {
$subscribers = get_post_meta($product_id, '_polski_preorder_subscribers', true);
if (is_array($subscribers)) {
foreach ($subscribers as $email) {
wp_mail(
$email,
'Produkt jest już dostępny!',
sprintf('Produkt %s jest teraz dostępny do zakupu.', get_the_title($product_id))
);
}
}
}, 10, 2);

Cuando la opción “Bloquear carrito mixto” está activada, el cliente no puede añadir al carrito simultáneamente:

  • Productos en reserva y productos estándar
  • Productos en reserva con distintas fechas de lanzamiento (opcional)

Al intentar añadir un tipo de producto diferente, se muestra el mensaje de bloqueo y el producto no se añade.

/**
* Filtruje, czy koszyk może zawierać mieszane typy produktów.
*
* @param bool $allow Czy pozwolić na mieszanie (domyślnie false)
* @param int $product_id ID dodawanego produktu
* @param array $cart_items Aktualne produkty w koszyku
*/
apply_filters('polski_pro/preorder/allow_mixed_cart', bool $allow, int $product_id, array $cart_items): bool;

Ejemplo - permitir mezclar para usuarios VIP:

add_filter('polski_pro/preorder/allow_mixed_cart', function (bool $allow, int $product_id, array $cart_items): bool {
if (current_user_can('manage_woocommerce')) {
return true;
}
return $allow;
}, 10, 3);

Mostrar una cuenta atrás hasta la fecha de lanzamiento:

[polski_preorder_countdown product_id="123" format="days" label="Do premiery pozostało:"]
ParámetroObligatorioDescripción
product_idNoID del producto (por defecto, el actual)
formatNoFormato: days, full (días, horas, minutos)
labelNoTexto de la etiqueta antes de la cuenta atrás
/**
* Filtruje tekst przycisku przedsprzedaży.
*
* @param string $text Tekst przycisku
* @param \WC_Product $product Obiekt produktu
*/
apply_filters('polski_pro/preorder/button_text', string $text, \WC_Product $product): string;

Ejemplo - texto dinámico con precio:

add_filter('polski_pro/preorder/button_text', function (string $text, \WC_Product $product): string {
return sprintf('Zamów za %s - premiera wkrótce', $product->get_price_html());
}, 10, 2);
/**
* Filtruje tekst dostępności przedsprzedaży.
*
* @param string $text Tekst dostępności
* @param string $release_date Data premiery (Y-m-d)
* @param \WC_Product $product Obiekt produktu
*/
apply_filters('polski_pro/preorder/availability_text', string $text, string $release_date, \WC_Product $product): string;

El módulo de reservas funciona con productos variables. Cada variante puede tener ajustes de reserva independientes:

  • Variante A - estándar (disponible de inmediato)
  • Variante B - reserva (lanzamiento en 2 semanas)

Se permite mezclar variantes en reserva y estándar dentro de un mismo producto - la validación del carrito solo se aplica a la mezcla de productos diferentes.

El producto no cambia automáticamente tras la fecha de lanzamiento Compruebe que WP-Cron funciona correctamente. Si usa un CRON externo, asegúrese de que wp-cron.php se llama con regularidad. Como alternativa, ejecute manualmente: wp cron event run polski_pro_preorder_check.

El cliente añadió productos en reserva y productos normales al carrito Compruebe que la opción “Bloquear carrito mixto” está activada. Vacíe la caché si usa plugins de caché que almacenan fragmentos del carrito.

La fecha de lanzamiento se muestra en un formato incorrecto Compruebe el ajuste “Formato de fecha” en la configuración del módulo. El formato utiliza los marcadores de posición estándar de PHP date().

Esta página tiene únicamente fines informativos y no constituye asesoramiento legal. Consulte a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) proporcionado sin garantía.