Referencia de datos de recibos
Las plantillas HTML sin lógica de WCPOS y las plantillas XML térmicas se renderizan a partir de la misma carga útil canónica de recibos. Utilice rutas con puntos de Mustache como {{order.number}}, {{store.name}} y {{totals.total_display}}. Las matrices se renderizan mediante secciones:
{{#lines}}
{{name}} x {{qty}} — {{line_total_display}}
{{/lines}}
El contrato canónico lo genera en el servidor el constructor de datos de recibos de WCPOS, y el renderizador de recibos sin conexión de la aplicación lo replica. Los recibos se abren de inmediato con datos locales y luego se actualizan con la respuesta del servidor cuando está disponible; por ello, las plantillas personalizadas deben usar los campos siguientes en lugar de los métodos de pedidos de PHP.
Datos de recibos v1.1 añade campos registrados de precio normal, precio de venta antes de aplicar cupones y ahorro para cada línea de producto. También proporciona totales de ahorro del pedido, incluido un valor de Total ahorrado que combina el ahorro sobre el precio normal con los descuentos de WooCommerce sin modificar los totales ni los informes del pedido.
Datos de recibos v1.2 añade discount_type a cada fila de descuento: el tipo de cupón de WooCommerce que origina el descuento.
El recibo, por secciones
Cada parte de un recibo impreso procede de una sección del contrato de datos. Pase el cursor por cualquiera de los lados para ver la correspondencia; haga clic para ir a los campos de esa sección. Todos los ejemplos de esta página utilizan el mismo pedido de muestra.
store.name · store.address_lines · store.tax_ids · store.logoorder.number · order.created · cashier.name · customer.namelines[] · line_savings · savings_in_discountstotals.* · discounts[] · fees[] · shipping[] · totals.total_savedpayments[]store.personal_notes · store.policies_and_conditions · i18n.thank_you_purchaseTareas habituales de las plantillas
La mayoría de las modificaciones de plantillas corresponden a uno de estos tres casos. Cada tarjeta muestra primero el resultado impreso y, después, el marcado exacto: cópielo en cualquier plantilla HTML sin lógica o XML térmica. La tercera tarjeta muestra un pedido heredado anterior a v1.9, no el pedido de muestra anterior.
{{#lines}}
{{#line_savings}}
<s>{{line_regular_total_display}}</s>
{{i18n.savings}}: -{{line_savings_display}}
{{/line_savings}}
{{/lines}}{{#totals.total_saved_complete}}
{{#totals.total_saved}}
{{i18n.total_saved}}:
{{totals.total_saved_display}}
{{/totals.total_saved}}
{{/totals.total_saved_complete}}{{#lines}}
{{#line_savings}}
{{^savings_in_discounts}}
{{i18n.savings}}: -{{line_savings_display}}
{{/savings_in_discounts}}
{{/line_savings}}
{{/lines}}Ampliar los datos del recibo
WCPOS mantiene el contrato anterior independiente del proveedor. Cuando un plugin necesita que el recibo incluya información que WooCommerce no modela, la añade mediante el filtro woocommerce_pos_receipt_data, del mismo modo que los plugins filtran los totales de pedido propios de WooCommerce. El filtro se ejecuta en cada recibo que genera el servidor: recibos en directo, instantáneas fiscales en el momento del pago, descargas PDF y plantillas PHP heredadas.
add_filter( 'woocommerce_pos_receipt_data', function ( array $data, WC_Abstract_Order $order, string $mode ) {
foreach ( $data['discounts'] as &$row ) {
if ( 'smart_coupon' === $row['discount_type'] ) {
$row['gift_card'] = true;
}
}
return $data;
}, 10, 3 );
A continuación, una plantilla puede aplicar una condición a la nueva clave como a cualquier otra sección:
{{#discounts}}
{{#gift_card}}Gift Card{{/gift_card}}{{^gift_card}}{{i18n.discount}}{{/gift_card}}{{#label}}: {{label}}{{/label}}
{{/discounts}}
Las claves definidas en el esquema deben conservar los tipos documentados. Las claves añadidas no forman parte del esquema, por lo que no aparecen en el selector de campos del editor de plantillas; además, las instantáneas fiscales solo incluyen lo que añadió el filtro en el momento del pago del pedido. El filtro está disponible desde WCPOS 1.10.8.
Reglas de renderizado
Campos monetarios
Los campos monetarios numéricos se conservan como números y el renderizador añade campos _display adaptados a la configuración regional para usarlos en las plantillas:
| Campo numérico | Campo de visualización |
|---|---|
totals.total | totals.total_display |
lines[].line_total | lines[].line_total_display |
payments[].amount | payments[].amount_display |
tax_summary[].tax_amount | tax_summary[].tax_amount_display |
Prefiera los campos _display al imprimir recibos. Utilice campos numéricos solo para secciones condicionales o salidas legibles por máquina.
Campos de visualización adaptados a impuestos
Varios campos tienen variantes con impuestos incluidos y excluidos, además de un valor auxiliar para la visualización. Este valor sigue la configuración de visualización de impuestos del carrito de la tienda.
| Campo auxiliar | Campo con impuestos incluidos | Campo con impuestos excluidos |
|---|---|---|
lines[].regular_price | lines[].regular_price_incl | lines[].regular_price_excl |
lines[].selling_price | lines[].selling_price_incl | lines[].selling_price_excl |
lines[].unit_savings | lines[].unit_savings_incl | lines[].unit_savings_excl |
lines[].line_regular_total | lines[].line_regular_total_incl | lines[].line_regular_total_excl |
lines[].line_selling_total | lines[].line_selling_total_incl | lines[].line_selling_total_excl |
lines[].line_savings | lines[].line_savings_incl | lines[].line_savings_excl |
lines[].unit_price | lines[].unit_price_incl | lines[].unit_price_excl |
lines[].unit_subtotal | lines[].unit_subtotal_incl | lines[].unit_subtotal_excl |
lines[].line_subtotal | lines[].line_subtotal_incl | lines[].line_subtotal_excl |
lines[].discounts | lines[].discounts_incl | lines[].discounts_excl |
lines[].line_total | lines[].line_total_incl | lines[].line_total_excl |
fees[].total | fees[].total_incl | fees[].total_excl |
shipping[].total | shipping[].total_incl | shipping[].total_excl |
discounts[].total | discounts[].total_incl | discounts[].total_excl |
totals.subtotal | totals.subtotal_incl | totals.subtotal_excl |
totals.discount_total | totals.discount_total_incl | totals.discount_total_excl |
totals.sale_savings_total | totals.sale_savings_total_incl | totals.sale_savings_total_excl |
totals.total_saved | totals.total_saved_incl | totals.total_saved_excl |
totals.total | totals.total_incl | totals.total_excl |
Objetos de fecha
Los campos de fecha son objetos con varias variantes preformateadas. Así se evita dar formato a las fechas dentro de Mustache.
| Campo | Descripción |
|---|---|
datetime, date, time | Cadenas de fecha y hora predeterminadas |
datetime_short, datetime_long, datetime_full | Formatos combinados adaptados a la configuración regional |
date_short, date_long, date_full | Formatos de solo fecha adaptados a la configuración regional |
date_ymd, date_dmy, date_mdy | Formatos de fecha con orden fijo |
weekday_short, weekday_long | Nombres de los días |
day, month, month_short, month_long, year | Partes individuales de la fecha |
Objetos de fecha disponibles: order.created, order.paid, order.completed, order.printed y refunds[].date. order.printed se actualiza en el momento del renderizado, lo que resulta útil para las reimpresiones.
Secciones de nivel superior
| Sección | Tipo | Descripción |
|---|---|---|
order | objeto | Identidad, estado, fechas, nota e información de la URL de pago del pedido |
store | objeto | Identidad de la tienda, dirección, datos de contacto, ID fiscales, logotipo, horario y texto de pie de página |
cashier | objeto | Usuario que procesó el pedido |
customer | objeto | Nombre visible del cliente, direcciones e ID fiscales |
lines | matriz | Líneas de productos |
fees | matriz | Filas de tarifas |
shipping | matriz | Filas de envío |
discounts | matriz | Filas de cupones/descuentos |
totals | objeto | Totales del pedido, totales de pago, resumen de reembolsos y cantidades de artículos |
tax | objeto | Indicadores del modo de visualización de impuestos para las condiciones de las secciones |
tax_summary | matriz | Filas de resumen de impuestos por tipo impositivo |
has_tax_summary | booleano | Condición práctica para tax_summary |
payments | matriz | Filas de pagos |
refunds | matriz | Registros de reembolsos aplicados al pedido |
fiscal | objeto | Campos de la instantánea fiscal rellenados por integraciones fiscales |
presentation_hints | objeto | Indicaciones de formato y del renderizador |
i18n | objeto | Etiquetas traducidas para plantillas incluidas y personalizadas |
Cómo se relacionan los precios
Una línea de producto contiene varios precios, y sus nombres se entienden mejor al verlos aplicados al importe. Esta es la línea de espresso del pedido de muestra: un producto de $17.00 rebajado a $14.50, más un cupón del 10 %:
unit_price → 13.05 · line_total → 26.10lines[].discounts → 2.90 en esta líneaunit_savings → 2.50 · line_savings → 5.00totals.sale_savings_total = 5.00totals.discount_total = 5.28totals.total_saved = 10.28Los ahorros por rebajas y los descuentos de cupones son conceptos distintos: los ahorros por rebajas comparan el precio de venta con el precio normal registrado, mientras que discounts representa los cálculos de cupones propios de WooCommerce. Los totales e informes de pedidos de WooCommerce solo incluyen la parte correspondiente a los cupones; por eso existe total_saved, la cifra que se muestra al cliente y que combina ambos conceptos.
Referencia de campos
La referencia completa de campos se organiza por secciones a continuación. Todo está contraído de forma predeterminada; expanda el grupo que necesite.
pedido — identidad, estado y fechas
pedido
| Campo | Tipo | Ejemplo / descripción |
|---|---|---|
order.id | número | 1042 |
order.number | cadena | Número de pedido visible, por ejemplo, "1042" |
order.currency | cadena | Código de moneda ISO, por ejemplo, "USD" |
order.customer_note | cadena | Nota del cliente/pedido |
order.wc_status | cadena | Slug de estado sin procesar de WooCommerce, por ejemplo, "processing" |
order.status_label | cadena | Etiqueta de estado traducida, incluidos los estados personalizados |
order.created_via | cadena | Origen/canal, por ejemplo, "woocommerce-pos" |
order.needs_payment | booleano | Indica si se debe mostrar una sección de pago |
order.payment_url | cadena | URL de pago del pedido, si está disponible |
order.created | objeto de fecha | Fecha de creación del pedido |
order.paid | objeto de fecha | Fecha de pago; cadenas vacías si no se ha pagado |
order.completed | objeto de fecha | Fecha de finalización; cadenas vacías si no se ha completado |
order.printed | objeto de fecha | Marca de tiempo de impresión/reimpresión durante el renderizado |
tienda — identidad, dirección, contacto y horarios
tienda
| Campo | Tipo | Ejemplo / descripción |
|---|---|---|
store.id | número | ID de la tienda o ID histórico de tiendas eliminadas |
store.name | cadena | Nombre visible de la tienda |
store.address.address_1 | cadena | Línea 1 de la dirección postal |
store.address.address_2 | cadena | Línea de apartamento/unidad |
store.address.city | cadena | Ciudad/localidad |
store.address.state | cadena | Estado/región |
store.address.postcode | cadena | Código postal |
store.address.country | cadena | Código de país ISO |
store.address_lines | matriz | Líneas de dirección preformateadas; recomendadas para la mayoría de las plantillas |
store.tax_ids | matriz | ID fiscales empresariales estructurados; recorra esta matriz en lugar de usar un único ID fiscal |
store.phone | cadena | Teléfono de la tienda |
store.email | cadena | Correo electrónico de la tienda |
store.logo | cadena/nulo | URL del logotipo de la tienda o URI de datos |
store.opening_hours | cadena/nulo | Texto compacto de los horarios de apertura |
store.opening_hours_vertical | cadena/nulo | Bloque de horarios de apertura en varias líneas |
store.opening_hours_inline | cadena/nulo | Horarios de apertura separados por comas |
store.opening_hours_notes | cadena/nulo | Notas de texto libre sobre los horarios de apertura |
store.personal_notes | cadena/nulo | Nota personal o para el pie del recibo |
store.policies_and_conditions | cadena/nulo | Texto sobre reembolsos, devoluciones o condiciones |
store.footer_imprint | cadena/nulo | Aviso legal del pie de página |
Objetos de ID fiscal
store.tax_ids y customer.tax_ids contienen objetos con la misma estructura:
| Campo | Tipo | Descripción |
|---|---|---|
type | cadena | Identificador como eu_vat, de_steuernummer, au_abn, br_cpf, us_ein u other |
value | cadena | Valor del ID fiscal que se imprimirá |
country | cadena/nulo | Código de país ISO, si se conoce |
label | cadena/nulo | Etiqueta de visualización localizada, resuelta antes del renderizado |
Ejemplo:
{{#store.tax_ids}}
{{label}}: {{value}}
{{/store.tax_ids}}
cajero — usuario que procesó el pedido
cajero
| Campo | Tipo | Ejemplo / descripción |
|---|---|---|
cashier.id | número | ID de usuario de WordPress; 0 cuando se desconoce |
cashier.name | cadena | Nombre visible del cajero |
cliente — nombre, direcciones e identificadores fiscales
cliente
| Campo | Tipo | Ejemplo / descripción |
|---|---|---|
customer.id | número/nulo | ID del cliente o null si es un cliente invitado |
customer.name | cadena | Nombre visible del cliente o etiqueta de cliente invitado |
customer.billing_address.* | objeto | Campos de dirección de facturación de WooCommerce |
customer.shipping_address.* | objeto | Campos de dirección de envío de WooCommerce |
customer.tax_ids | matriz | Identificadores fiscales estructurados del cliente guardados como instantánea del pedido |
Entre las claves de dirección habituales se incluyen first_name, last_name, company, address_1, address_2, city, state, postcode, country, email y phone.
líneas — artículos de productos
líneas
Recorra los elementos con {{#lines}}...{{/lines}}. Los valores de ejemplo corresponden a la línea de espresso del pedido de ejemplo.
Cada campo monetario se proporciona en pareja: el número (úselo en las condiciones {{#…}} — cero y null ocultan la sección, y un campo null no tiene ninguna contraparte _display) y la cadena _display (úsela para mostrar el valor). Los campos marcados como incl/excl también incluyen variantes _incl y _excl, cada una con su propio _display.
null en pedidos sin historial de precios de POS — inclúyalo dentro de una sección.discounts — indicador para evitar el doble recuento.{key, value}.{key, value}.Mostrar el precio normal y los ahorros
Para un diseño con precios unitarios, muestre el precio normal registrado, el precio de venta y el ahorro de esta forma:
{{#lines}}
{{#unit_savings}}
<span style="text-decoration: line-through;">{{regular_price_display}}</span>
<span>{{selling_price_display}}</span>
<span>{{i18n.savings}}: -{{unit_savings_display}}</span>
{{/unit_savings}}
{{/lines}}
Use los campos de total de línea cuando la cantidad sea relevante:
{{#lines}}
{{#line_savings}}
<span style="text-decoration: line-through;">{{line_regular_total_display}}</span>
<span>{{i18n.savings}}: -{{line_savings_display}}</span>
{{/line_savings}}
{{/lines}}
selling_price es el precio anterior a los cupones. Use unit_price o line_total para el importe final después de los descuentos de WooCommerce.
Es posible que los pedidos antiguos de WCPOS ya incluyan en discounts la reducción del precio normal al precio de venta. Si su plantilla personalizada muestra tanto los ahorros de línea como los descuentos de línea, use savings_in_discounts para no mostrar dos veces la misma reducción:
{{#lines}}
{{#line_savings}}
<span style="text-decoration: line-through;">{{line_regular_total_display}}</span>
{{^savings_in_discounts}}
<span>{{i18n.savings}}: -{{line_savings_display}}</span>
{{/savings_in_discounts}}
{{/line_savings}}
{{#discounts}}
<span>{{i18n.discount}}: -{{discounts_display}}</span>
{{/discounts}}
{{/lines}}
Si la plantilla no muestra una fila discounts por línea, siga mostrando line_savings aunque savings_in_discounts sea true. Las plantillas incluidas gestionan esta distinción automáticamente.
tarifas y envío
tarifas y envío
Recorra los elementos con {{#fees}}...{{/fees}} y {{#shipping}}...{{/shipping}}.
| Campo | Tipo | Descripción |
|---|---|---|
label | cadena | Etiqueta de la tasa o nombre del método de envío |
method_id | cadena | ID del método de envío (solo para el envío) |
total / _incl / _excl | número | Totales mostrados, con impuestos incluidos y con impuestos excluidos |
taxes | matriz | Filas de impuestos por tipo |
meta | matriz | Pares de metadatos {key, value} |
Variantes con formato: total_display, total_incl_display y total_excl_display.
descuentos — filas de cupones/descuentos
descuentos
Recorra los elementos con {{#discounts}}...{{/discounts}}.
| Campo | Tipo | Descripción |
|---|---|---|
label | cadena | Descripción del cupón o código alternativo |
code | cadena | Código del cupón |
discount_type | cadena | Identificador de tipo del cupón de WooCommerce, por ejemplo fixed_cart, percent o fixed_product. Está vacío si el cupón ya no existe. |
total / _incl / _excl | número | Importe del descuento como valor positivo |
Variantes con formato: total_display, total_incl_display y total_excl_display. Añada su propio signo menos en la plantilla si desea mostrar los descuentos como filas negativas.
discount_type se añadió en Receipt Data v1.2. Las instantáneas de recibos fiscales capturadas antes de esa versión no lo incluyen.
totales — totales del pedido, pago, reembolso y artículos
totales
Los valores de ejemplo proceden del pedido de ejemplo, que posteriormente recibió un reembolso parcial de $7.25.
Los campos monetarios siguen el mismo formato en pareja que las líneas de artículos: un número sin sufijo para las condiciones y una cadena _display para mostrarlo, con variantes _incl/_excl cuando se indiquen.
Use total_saved cuando necesite una única cifra dirigida al cliente que refleje todo lo ahorrado. No lo calcule sumando discount_total y sale_savings_total en la plantilla: es posible que los pedidos creados antes de v1.9.0 ya incluyan el ahorro de precio de POS en el total de descuentos de WooCommerce. El campo canónico total_saved detecta y elimina ese solapamiento.
Los totales de ahorro son null y total_saved_complete es false cuando alguna línea de producto no tiene suficientes datos de precios registrados para obtener un total fiable. Proteja la fila con total_saved_complete y, a continuación, use total_saved para ocultar un valor cero:
{{#totals.total_saved_complete}}
{{#totals.total_saved}}
<span>{{i18n.total_saved}}: {{totals.total_saved_display}}</span>
{{/totals.total_saved}}
{{/totals.total_saved_complete}}
Las plantillas incluidas que muestran precios usan la misma estructura de condiciones con las variantes que incluyen impuestos (total_saved_incl y total_saved_incl_display) y muestran Total ahorrado solo cuando el valor completo es superior a cero.
tax y tax_summary — condiciones de visualización y filas por tipo
tax y tax_summary
Use tax para las condiciones del modo de visualización y tax_summary para las filas desglosadas por tipo.
| Campo de impuestos | Tipo | Descripción |
|---|---|---|
tax.display | cadena | incl o excl |
tax.display_incl | booleano | Verdadero cuando los precios se muestran con impuestos incluidos |
tax.display_excl | booleano | Verdadero cuando los precios se muestran sin impuestos |
tax.breakdown | cadena | hidden, single o itemized |
tax.breakdown_hidden | booleano | Verdadero cuando deben ocultarse las filas de impuestos |
tax.breakdown_single | booleano | Verdadero cuando se prefiere un único total de impuestos |
tax.breakdown_itemized | booleano | Verdadero cuando se prefieren filas por tipo impositivo |
has_tax_summary | booleano | Verdadero cuando tax_summary contiene filas |
Recorra tax_summary con {{#tax_summary}}...{{/tax_summary}}.
| Campo | Tipo | Descripción |
|---|---|---|
code | cadena | ID/código del tipo impositivo |
rate | número/nulo | Porcentaje del tipo impositivo cuando se ha resuelto |
label | cadena | Etiqueta del tipo impositivo |
compound | booleano | Indica si el tipo impositivo es compuesto |
taxable_amount_excl | número/nulo | Base imponible sin impuestos |
tax_amount | número | Impuestos recaudados |
taxable_amount_incl | número/nulo | Base imponible con impuestos |
Variantes formateadas: taxable_amount_excl_display, tax_amount_display y taxable_amount_incl_display.
payments — filas de pago
payments
Recorra los elementos con {{#payments}}...{{/payments}}.
| Campo | Tipo | Descripción |
|---|---|---|
method_id | cadena | Identificador del método de pago |
method_title | cadena | Título visible del método de pago |
amount | número | Importe aplicado al pedido |
transaction_id | cadena | ID de transacción de la pasarela |
tendered | número | Importe en efectivo entregado, si está disponible |
change | número | Cambio en efectivo devuelto, si está disponible |
Variantes formateadas: amount_display, tendered_display y change_display.
refunds — registros de reembolso
refunds
Recorra los elementos con {{#refunds}}...{{/refunds}}. Los importes de los reembolsos son magnitudes positivas; las plantillas deciden si anteponen un signo menos o muestran un bloque independiente para los artículos devueltos.
| Campo | Tipo | Descripción |
|---|---|---|
id | número | ID del registro de reembolso |
date | objeto de fecha | Fecha de creación del reembolso |
amount | número | Total del reembolso |
subtotal | número | Subtotal de las líneas reembolsadas |
tax_total | número | Impuestos reembolsados |
shipping_total | número | Importe de envío reembolsado |
shipping_tax | número | Impuestos de envío reembolsados |
reason | cadena | Motivo del reembolso |
refunded_by_id | número/nulo | ID del usuario que emitió el reembolso |
refunded_by_name | cadena | Nombre visible del usuario que emitió el reembolso |
refunded_payment | booleano | Indica si el pago se reembolsó a través de la pasarela |
destination | cadena | original_method, cash o manual |
gateway_id | cadena | ID de la pasarela utilizada para el reembolso |
gateway_title | cadena | Título visible de la pasarela |
processing_mode | cadena | Modo de procesamiento del proveedor/manual |
lines | matriz | Filas de productos reembolsados |
fees | matriz | Filas de tarifas reembolsadas |
shipping | matriz | Filas de envío reembolsadas |
Los campos de las líneas de reembolso incluyen name, sku, qty, total, total_incl, total_excl, line_total, unit_total y taxes. Las filas de tarifas y envíos reembolsados usan label, total, total_incl, total_excl y taxes. Se añaden variantes de visualización para los totales y los importes de impuestos.
fiscal — instantánea de integración fiscal
fiscal
De forma predeterminada, los campos fiscales están vacíos y las integraciones fiscales o el enriquecimiento de instantáneas de WCPOS Pro los rellenan.
| Campo | Tipo | Descripción |
|---|---|---|
fiscal.immutable_id | cadena | Identificador fiscal inmutable |
fiscal.receipt_number | cadena | Número de recibo fiscal |
fiscal.sequence | número/nulo | Contador de secuencia |
fiscal.hash | cadena | Valor hash/firma |
fiscal.qr_payload | cadena | Contenido QR para la verificación fiscal |
fiscal.tax_agency_code | cadena | Código de la autoridad fiscal |
fiscal.signed_at | cadena | Marca de tiempo de firma fiscal |
fiscal.signature_excerpt | cadena | Firma truncada para mostrar |
fiscal.document_label | cadena | Etiqueta del documento, por ejemplo, Factura fiscal |
fiscal.is_reprint | booleano | Indica si esta representación es una reimpresión |
fiscal.reprint_count | número | Número de reimpresiones |
fiscal.extra_fields | matriz/objeto | Valores específicos de la jurisdicción |
presentation_hints — sugerencias de formato y representación
presentation_hints
Estos campos los utilizan principalmente el renderizador y el formateador. Están disponibles para las plantillas cuando se necesitan.
| Campo | Tipo | Descripción |
|---|---|---|
presentation_hints.display_tax | cadena | incl, excl, hidden, itemized o single |
presentation_hints.prices_entered_with_tax | booleano | Indica si los precios del catálogo incluyen impuestos |
presentation_hints.rounding_mode | cadena | Configuración de redondeo de impuestos de WooCommerce |
presentation_hints.locale | cadena | Configuración regional usada para el formato |
presentation_hints.timezone | cadena | Zona horaria del recibo |
presentation_hints.currency_position | cadena | Posición del símbolo de moneda |
presentation_hints.currency_symbol | cadena | Símbolo de moneda |
presentation_hints.price_thousand_separator | cadena | Separador de miles |
presentation_hints.price_decimal_separator | cadena | Separador decimal |
presentation_hints.price_num_decimals | número | Número de decimales |
presentation_hints.price_display_suffix | cadena | Sufijo de visualización del precio de WooCommerce |
presentation_hints.order_barcode_type | cadena | Tipo de código de barras usado por las plantillas de galería |
Los campos monetarios con formato previo (los valores *_display, como totals.total_display) muestran los importes con el símbolo de moneda del pedido, usando la posición y los separadores anteriores; así, los recibos muestran $12.00, no USD 12.00. El campo sin formato order.currency sigue siendo el código ISO para cualquier lógica de la plantilla.
i18n — etiquetas traducidas
i18n
Siempre que sea posible, use las etiquetas de i18n en lugar de codificar texto directamente:
{{i18n.order}} #{{order.number}}
{{i18n.cashier}}: {{cashier.name}}
{{i18n.total}}: {{totals.total_display}}
Entre las claves habituales se incluyen order, date, cashier, customer, item, sku, qty, unit_price, regular_price, selling_price, savings, discount, subtotal, total_saved, total, tax, paid, tendered, change, tax_summary, refunded, net_total, customer_note, thank_you_purchase, opening_hours y las claves de etiquetas de ID fiscal, como store_tax_id_label_eu_vat y customer_tax_id_label_other. Las extensiones pueden añadir otras claves.