Ir al contenido

Per-product settings (the Polski Pro tab)

Cinco módulos PRO se configuran por producto, no de forma global: tarjetas regalo, pedidos anticipados, suscripciones, paquetes de productos y “comprados juntos habitualmente”. Cada uno decide si actúa sobre un producto leyendo una clave meta de ese producto. Desde Polski PRO 1.26.0 existe una pantalla que escribe esas claves: una pestaña Polski Pro en la caja de datos del producto del editor de productos de WooCommerce.

Abra cualquier producto y mire la caja Datos del producto. La pestaña Polski Pro va después de las pestañas estándar de WooCommerce y se muestra en productos simples, variables y externos.

La pestaña aparece solo si al menos uno de los cinco módulos está activo en Polski > Módulos. Con los cinco apagados no hay nada que configurar, así que la pestaña ni siquiera se añade. Dentro de la pestaña, solo un módulo activo recibe su grupo de campos: active dos y verá dos grupos, no cinco.

Esa condición es lo primero que conviene revisar si falta un campo que esperaba. El módulo es el interruptor de toda la tienda; esta pestaña es el interruptor de un producto.

Cada grupo de abajo corresponde a un módulo. La clave meta es la misma que lee el servicio del módulo, así que la columna de claves responde también a qué hay que establecer desde WP-CLI o desde código propio.

Campo Clave meta Tipo Notas
Sell as a gift card _polski_gift_card_enabled yes / no La puerta. El módulo trata el producto como tarjeta regalo solo cuando vale yes.
Preset amounts _polski_gift_card_amounts texto Separado por comas, por ejemplo 50, 100, 200. Vacío recurre a los importes globales del módulo.
Allow a custom amount _polski_gift_card_allow_custom_amount yes / no Permite al comprador escribir su propio importe. El módulo respeta además su ajuste global, así que un “permitir importe libre” de toda la tienda sigue vigente aunque esta casilla esté vacía.
Minimum custom amount _polski_gift_card_min_amount número Se lee como sustitución del mínimo global del módulo.
Maximum custom amount _polski_gift_card_max_amount número Se lee como sustitución del máximo global del módulo.
Campo Clave meta Tipo Notas
Sell as a pre-order _polski_preorder_enabled yes / no La mitad de la puerta.
Release date _polski_preorder_date fecha (Y-m-d) La otra mitad. Hacen falta las dos: con la casilla marcada y sin fecha el producto sigue siendo un producto corriente, porque el módulo exige la marca y una fecha legible antes de cambiar nada.
Button text _polski_preorder_button_text texto Sustituye para este producto el texto global del botón de pedido anticipado.
Campo Clave meta Tipo Notas
Sell as a subscription _polski_subscription_enabled yes / no La puerta.
Bill every _polski_subscription_interval entero Número de periodos entre cobros. Se lee como 1 como mínimo.
Billing period _polski_subscription_period day, week, month, year Sin valor se usa month.
Number of payments _polski_subscription_length entero 0 renueva hasta que el cliente cancele.
Sign-up fee _polski_subscription_signup_fee número Se cobra una vez, con el primer pago.
Trial days _polski_subscription_trial_days entero Días hasta el primer cobro. 0 para no tener prueba.
Campo Clave meta Tipo Notas
Bundled products _polski_bundle_items área de texto Un componente por línea, formato más abajo.
Section title _polski_bundle_title texto Sustituye para este producto el encabezado global de paquete del módulo.
Button text _polski_bundle_button_text texto Sustituye el texto global del botón de paquete.
Bundle discount _polski_bundle_discount_type vacío, percent, fixed Vacío significa sin descuento.
Discount value _polski_bundle_discount_value número Se lee junto con el tipo de arriba.

Bundled products admite un componente por línea, escrito como el identificador del producto, una barra vertical, la cantidad, otra barra vertical y si el componente es obligatorio:

42|2|yes
57|1|no
88

La cantidad y la marca de obligatorio pueden omitirse, así que un 88 a secas es una unidad opcional del producto 88. Una marca cuenta como obligatoria cuando dice yes, 1, true o required. Una sola línea de identificadores separados por comas se acepta como abreviatura de una unidad de cada uno. Los identificadores que no correspondan a un producto existente se omiten.

No hay una casilla aparte de “activar paquete”: un producto es un paquete cuando Bundled products resuelve al menos un producto real.

Campo Clave meta Tipo Notas
Suggested products _polski_fbt_product_ids texto Identificadores de producto separados por comas, espacios o puntos y coma. Se omite el identificador del propio producto, se descartan los duplicados y la lista se recorta al ajuste del módulo Maximum products taken from the product list (4 por omisión).
Section title _polski_fbt_title texto Sustituye para este producto el encabezado global del módulo.
Intro text _polski_fbt_intro área de texto Línea opcional bajo el encabezado.
Button text _polski_fbt_button_text texto Sustituye el texto global del botón de añadir todo.

Igual que con los paquetes, no hay interruptor por producto: el bloque aparece en un producto en cuanto Suggested products contiene al menos un identificador utilizable.

Cada campo se sanea al entrar: una casilla se guarda como yes o no, un campo entero como número entero de 0 como mínimo, un campo numérico como decimal de 0 como mínimo, las dos áreas de texto mediante sanitize_textarea_field y todo lo demás mediante sanitize_text_field. Un campo numérico dejado en blanco se guarda en blanco y no se convierte en 0, porque un campo vacío significa “sin valor para este producto” y un cero escrito significa cero. WooCommerce ya ha comprobado el nonce y la capacidad antes de que esto se ejecute.

El guardado omite todo grupo cuyo módulo esté apagado. Esto pesa más de lo que parece: una casilla sin marcar no envía nada, y el bucle lee un valor ausente como “vaciado”. Eso es correcto para una casilla que el comerciante acaba de desmarcar y equivocado para un campo que nunca estuvo en la página, así que apagar un módulo no borra en silencio los ajustes por producto que ya había introducido. Vuelva a encender el módulo y el producto queda configurado como estaba.

Los subcampos de tarjeta regalo, pedido anticipado y suscripción están cada uno en un bloque que permanece plegado mientras su casilla principal esté vacía, de modo que un producto que no es una tarjeta regalo no muestra cinco campos de tarjeta regalo.

Esto es solo presentación. El marcado se sirve abierto, así que con JavaScript bloqueado todos los campos son visibles, editables y se guardan exactamente igual; nada queda condicionado al script. Un bloque plegado además queda fuera del orden de tabulación, así que un campo oculto no puede rellenarse con el teclado y guardarse sin que nadie lo vea.

  1. ¿Está el módulo activo en Polski > Módulos? Los cinco se entregan apagados, porque cada uno cambia lo que ve un comprador.
  2. ¿Está puesta la puerta del producto? Tarjetas regalo, pedidos anticipados y suscripciones necesitan cada uno su casilla marcada en el producto; un pedido anticipado necesita además una fecha de lanzamiento.
  3. En paquetes y “comprados juntos habitualmente”, ¿las listas resuelven a productos reales y existentes?
  4. ¿El ajuste propio del módulo Show on the product page, en la pantalla de módulos, sigue permitiéndolo?