Polski for WooCommerce
Plugin gratuito que adapta o WooCommerce às condições legais e comerciais do mercado polaco. GPSR, Omnibus, GDPR, DSA, KSeF-ready e funcionalidades de loja num único pacote.
Polski for WooCommerce combina os requisitos do mercado polaco, as diretivas atuais da UE e as funcionalidades de loja num único plugin. Em vez de instalar 10 plugins separados para preços por unidade, formulários de devolução, GPSR, DSA, dados alimentares, auditoria de conformidade e ferramentas de merchandising - tem tudo num só pacote.
O plugin encontra-se atualmente em análise no WordPress.org. O código-fonte está disponível no GitHub.
Requisitos: WordPress 6.4+, WooCommerce 8.0+, PHP 8.1+ | Versão: 1.3.0 | Licença: GPLv2
Índice
- Instalação e configuração
- GPSR - segurança geral dos produtos
- Omnibus - preço mais baixo dos últimos 30 dias
- Desistência do contrato - formulário de devoluções
- Módulos de loja
- Produtos alimentares
- Outros módulos (DSA, KSeF, GDPR, NIF, marcas, Schema.org, CRA, DPA e mais)
- Requisitos técnicos
- Shortcodes
- Reportar erros e discussões
Instalação e configuração
Primeiros passos
A configuração do Polski for WooCommerce e composta por 6 passos. A maioria das definições funciona com os valores predefinidos - basta ativar os módulos.
Instalação
A partir do painel do WordPress (recomendado)
- Aceda a Plugins > Adicionar novo
- Pesquise Polski for WooCommerce
- Clique em Instalar e Ativar
- O novo menu Polski aparecerá na barra lateral
Manualmente a partir de ficheiro ZIP
- Descarregue o ZIP do GitHub
- Plugins > Adicionar novo > Carregar plugin
- Selecioné o ficheiro ZIP e clique em Instalar
- Clique em Ativar
Ativar módulos
Após a ativação, aceda a Polski > Módulos. Verá uma lista com 42 módulos disponíveis agrupados por categorias:
- Preços e Omnibus - preço por unidade, preço mais baixo dos últimos 30 dias, apresentação do IVA
- Checkout - botão de encomenda, caixas de verificação legais, NIF
- Conformidade legal - GPSR, DSA, KSeF, greenwashing, GDPR
- Direitos do consumidor - formulário de devolução, páginas legais, ODR
- Informações sobre produtos - prazo de entrega, fabricante, marcas, GTIN
- Produtos alimentares - valores nutricionais, alergénios, Nutri-Score
- Módulos de loja - lista de desejos, comparar, visualização rápida, filtros, pesquisa
- E-mail - anexos legais, doublé opt-in
- Ferramentas - painel de conformidade, auditoria da loja
Cada módulo tem um botão de ativar/desativar. Ativé os que necessitar.
Configuração legal (mínimo)
Para conformidade básica com a lei polaca, ative:
- Caixas de verificação legais - aceda às definições do módulo, ativé as caixas para os termos e condições, política de privacidade e direito de desistência
- Botão de encomenda - altera automaticamente o texto para “Encomendo com obrigação de pagamento”
- Páginas legais - selecioné as suas páginas de Termos e Condições, Política de Privacidade e Direito de Desistência
Configuração do IVA
- Certifique-se de que tem as taxas de IVA corretas em WooCommerce > Definições > Impostos (23%, 8%, 5%, 0%)
- Ativé o módulo Apresentação do IVA e selecioné o modo (com/sem IVA)
- Se beneficiar de isenção subjetiva (art. 113) - marque a caixa de verificação correspondente
GPSR (se vender produtos físicos)
Desde 13 de dezembro de 2024, o regulamento GPSR exige que as páginas de produto em lojas online incluam os dados do fabricante e da pessoa responsável. Ativé o módulo GPSR e preencha os dados no separador Polski no editor de produto.
Painel de conformidade
Aceda a Polski > Painel e clique em Verificar conformidade. O sistema verificará:
- Se as páginas legais estão criadas e atribuídas
- Se as caixas de verificação legais estão ativas no checkout
- Se o botão de encomenda tem o texto correto
- Se as taxas de IVA estão configuradas
- Se os dados GPSR estão preenchidos (se o módulo estiver ativo)
Resultado a verde/vermelho para cada ponto. Corrija os elementos a vermelho e verifique novamente.
Modelos do tema
Todos os modelos do plugin podem ser substituídos a partir do tema. Copié o ficheiro de wp-content/plugins/polski/templates/ para wp-content/themes/your-theme/polski/ e edite.
REST API
O plugin disponibiliza uma API REST completa sob o namespace polski/v1/:
GET /polski/v1/settings- obter definiçõesPOST /polski/v1/settings- atualizar definiçõesGET /polski/v1/withdrawals- lista de pedidos de devoluçãoGET /polski/v1/checkboxes- configuração das caixas de verificação
A documentação da API fica disponível após a instalação do plugin.
WP-CLI
wp polski migrate # executar migrações da base de dados
wp polski smoke-test # verificar a correção da instalação
GPSR - segurança geral dos produtos
Desde 13 de dezembro de 2024, o Regulamento UE 2023/988 (GPSR - General Product Safety Regulation) exige que as páginas de produto em lojas online incluam os dados do fabricante e da pessoa responsável pela conformidade do produto com as normas. O módulo GPSR do Polski for WooCommerce apresenta automaticamente estas informações na página do produto e disponibiliza ferramentas para as gerir no painel de administração.
Ativar o módulo
- Aceda a Polski > Módulos
- Localizé a secção Conformidade legal
- Ativé o módulo GPSR
- Guarde as alterações
Após a ativação, o módulo registará novos campos no editor de produto e adicionará uma coluna de estado na lista de produtos.
Campos GPSR no editor de produto
Após ativar o módulo, aparece uma secção GPSR - Segurança do produto (separador Polski) no editor de cada produto. Contém 8 campos:
| Campo | Tipo | Descrição |
|---|---|---|
| Nome do fabricante | texto | Nome completo da entidade que fabricou o produto |
| Morada do fabricante | área de texto | Morada postal completa do fabricante |
| Nome do importador | texto | Nome do importador (preencher se o produto for proveniente de fora da UE) |
| Morada do importador | área de texto | Morada postal completa do importador |
| Pessoa responsável | texto | Entidade na UE responsável pela conformidade do produto com o GPSR |
| Identificador do produto | texto | Número de lote, número de serié ou outro identificador |
| Avisos de segurança | área de texto | Avisos exigidos pela regulamentação ou pelo fabricante |
| Instruções de segurança | área de texto | Instruções para utilização segura |
A secção GPSR na página do produto só e apresentada quando pelo menos um campo está preenchido. Os dados são apresentados num elemento <details> com o cabeçalho “Segurança do produto (GPSR)” - o cliente pode expandi-lo clicando.
Apresentação na página do produto
O módulo injeta automaticamente a secção GPSR após as informações do produto (hook woocommerce_product_meta_end). Apresenta apenas os campos que têm valor preenchido.
Estrutura HTML da secção:
<div class="polski-gpsr-info">
<details class="polski-gpsr-info__details">
<summary class="polski-gpsr-info__summary">Bezpieczeństwo produktu (GPSR)</summary>
<dl class="polski-gpsr-info__list">
<dt>Producent</dt>
<dd>Nazwa producenta</dd>
<!-- kolejne pola -->
</dl>
</details>
</div>
Pode personalizar o estilo da secção através de CSS no tema, utilizando as classes .polski-gpsr-info, .polski-gpsr-info__details e .polski-gpsr-info__list.
Se pretender alterar o esquema ou o conteúdo da secção, copié o modelo de:
wp-content/plugins/polski/templates/single-product/gpsr-info.php
para:
wp-content/themes/seu-tema/polski/single-product/gpsr-info.php
Coluna de estado GPSR na lista de produtos
Na lista de produtos (Produtos > Todos os produtos) o módulo adiciona uma coluna GPSR com um indicador visual do preenchimento dos dados:
- Marca verde (✓) - 3 ou mais campos dos 8 preenchidos
- Triângulo amarelo de aviso - 1 a 2 campos preenchidos
- Traço cinzento - nenhum campo preenchido
Ao passar o cursor sobre o íconé aparece um tooltip com o número de campos preenchidos, por exemplo “5/8 campos preenchidos”. Isto permite identificar rápidamente os produtos que necessitam de preenchimento de dados GPSR sem abrir cada um individualmente.
Importação e exportação CSV
O módulo GPSR e totalmente suportado pelo mecanismo de importação/exportação CSV do Polski for WooCommerce. É a forma mais rápida de preencher dados GPSR para vários produtos em simultâneo.
Exportação
- Aceda a Polski > Importar / Exportar CSV
- Clique em Exportar produtos
- Descarregué o ficheiro CSV
No ficheiro CSV, cada produto tem colunas GPSR com o prefixo polski_gpsr_:
| Coluna CSV | Campo correspondente |
|---|---|
polski_gpsr_manufacturer_name | Nome do fabricante |
polski_gpsr_manufacturer_address | Morada do fabricante |
polski_gpsr_importer_name | Nome do importador |
polski_gpsr_importer_address | Morada do importador |
polski_gpsr_responsible_person | Pessoa responsável |
polski_gpsr_product_identifier | Identificador do produto |
polski_gpsr_safety_warnings | Avisos de segurança |
polski_gpsr_instructions | Instruções de segurança |
Importação
- Preencha as colunas GPSR no ficheiro CSV (a coluna
idouskue necessária para identificar o produto) - Aceda a Polski > Importar / Exportar CSV
- Carregué o ficheiro e clique em Importar
- O plugin atualizará os metadados dos produtos para todas as linhas do ficheiro
A importação substitui os valores existentes. As células vazias no CSV eliminam os dados guardados anteriormente para esse campo.
Páginas de documentação relacionadas
Omnibus - preço mais baixo dos últimos 30 dias
O módulo Omnibus do plugin Polski for WooCommerce monitoriza automaticamente o histórico de preços dos produtos e apresenta o preço mais baixo dos últimos 30 dias nos produtos em promoção. Cumpré os requisitos da Diretiva Omnibus (UE 2019/2161), em vigor na Polónia desde 1 de janeiro de 2023.
O que e a Diretiva Omnibus?
A Diretiva Omnibus (UE 2019/2161) impõe às lojas online a obrigação de informar os clientes sobre o preço mais baixo de um produto nos últimos 30 dias, quando o produto e apresentado em promoção. Isto significa que, além do preço riscado (regular) e do preço promocional, deve aparecer uma mensagem do tipo: “Preço mais baixo dos últimos 30 dias: 89,00 EUR”.
O módulo regista o preço a cada gravação do produto e mantém o histórico automaticamente. Não requer introdução manual de dados.
Ativar o módulo
- Aceda a Polski > Módulos
- Localizé o módulo Preço mais baixo (Omnibus) no grupo “Preços e Omnibus”
- Ativé o botão e clique em Guardar definições
- A partir deste momento o plugin começa a registar preços a cada gravação de produto
Como funciona o registo de preços?
O preço e registado automaticamente em duas situações:
- ao guardar um produto simples (woocommerce_update_product, woocommerce_new_product)
- ao guardar uma variante de produto variável (woocommerce_save_product_variation)
É guardado no máximo um registo por produto por dia - os duplicados são ignorados. O módulo monitoriza tanto o preço regular como o preço promocional. O preço efetivo mais baixo do período de monitorização e calculado automaticamente na apresentação.
Os registos antigos são eliminados automaticamente pela tarefa cron (polski_daily_maintenance) de acordo com a definição “Guardar histórico (dias)”.
Definições do módulo
Registo de preços
| Definição | Valor predefinido | Descrição |
|---|---|---|
| Período de monitorização (dias) | 30 | Número de dias considerados no cálculo do preço mais baixo. A diretiva exigé um mínimo de 30 dias. |
| Guardar histórico (dias) | 90 | Os registos mais antigos do que este limite são eliminados automaticamente da base de dados. |
| Preços com imposto | ativo | Quando ativo, monitoriza e apresenta preços brutos (com IVA). |
Apresentação
| Definição | Valor predefinido | Descrição |
|---|---|---|
| Apenas produtos em promoção | ativo | A informação aparece apenas quando o produto tem um preço promocional ativo. |
| Página do produto | ativo | Apresenta a mensagem na página de produto individual. |
| Lista de produtos (loja, categorias) | inativo | Apresenta a mensagem no ciclo de produtos. |
| Produtos relacionados e recomendados | inativo | Apresenta a mensagem nas secções “Produtos semelhantes” e “Recomendados”. |
| Carrinho | inativo | Apresenta a mensagem junto ao produto no carrinho. |
| Mostrar preço regular (antes da promoção) | inativo | Informação adicional sobre o preço antes do início da promoção. |
Modelo de mensagem
| Definição | Valor predefinido | Descrição |
|---|---|---|
| Conteúdo da mensagem | Preco mais baixo dos ultimos {days} dias: {price} | Texto apresentado junto ao produto. Suporta variáveis: {price}, {days}, {date}, {regular_price}. |
| Sem histórico de preços | Ocultar mensagem | Comportamento quando não há dados históricos: ocultar / mostrar preço atual / texto personalizado. |
| Texto personalizado (sem histórico) | O preco não se alterou no período de {days} dias | Texto apresentado quando não há histórico e a opção “texto personalizado” está selecionada. |
| Calculado a partir de | Dia de início da promoção | Ponto de referêncIA: dia de início da promoção ou dia atual. |
Produtos variáveis
| Definição | Valor predefinido | Descrição |
|---|---|---|
| Monitorizar variantes separadamente | ativo | Cada variante de produto variável tno seu próprio histórico de preços independente. |
Variáveis do modelo
No campo “Conteúdo da mensagem” pode utilizar as seguintes variáveis:
{price}- preço efetivo mais baixo do período de monitorização (formatado, com moeda){days}- número de dias da definição “Período de monitorização”{date}- data de registo do preço mais baixo{regular_price}- preço regular do produto antes da promoção
Exemplos de mensagens:
Preco mais baixo dos ultimos {days} dias: {price}
Preco mais baixo anterior: {price} (nos ultimos {days} dias)
Preco antes da promocao: {regular_price} | Mais baixo em 30 dias: {price}
Shortcode
O shortcode [polski_omnibus_price] permite apresentar a informação sobre o preço mais baixo em qualquer local - na descrição do produto, num modelo de página ou num elemento de page builder.
Utilização básica (apresenta o preço do produto atual no ciclo WooCommerce):
[polski_omnibus_price]
Com indicação de produto específico (fora do ciclo WooCommerce, por exemplo numa página de texto):
[polski_omnibus_price product="123"]
Onde 123 e o ID do produto. O shortcode devolvé uma string vazia quando o produto não está em promoção (com a predefinição “Apenas produtos em promoção”) ou quando não há dados históricos.
Compatibilidade com plugins Omnibus externos
O plugin Polski for WooCommerce deteta automaticamente soluções Omnibus externas populares (por exemplo, wc-price-history). Quando tal plugin está ativo, o módulo delega nelé a obtenção dos dados em vez de utilizar a sua própria base de histórico de preços. O estado da integração e visível no painel do módulo.
Quando nenhum plugin externo está instalado, e utilizado o sistema de monitorização incorporado.
Classes CSS e filtro HTML
O HTML gerado tem a seguinte estrutura:
<div class="polski-omnibus-price">
<span class="polski-omnibus-price__text">Preco mais baixo dos ultimos 30 dias: 89,00 PLN</span>
</div>
Pode modificar o aspeto através de CSS no tema ou utilizar o filtro PHP:
add_filter('polski/price/omnibus_html', function (string $html, $lowest, $product): string {
// $lowest e um objeto OmnibusPrice com o campo effectivePrice() e currency
// $product e um objeto WC_Product
return $html;
}, 10, 3);


