Polski for WooCommerce - tilpass butikken din til det polske markedet
NB

Polski for WooCommerce - tilpass butikken din til det polske markedet

5.00 /5 - (17 votes )
37min lesetid
Referanse
WooCommerce-ekspert
500+ WP-prosjekter

#Polski for WooCommerce

Gratis plugin som tilpasser WooCommerce til polske juridiske og næringslivsmessige krav. GPSR, Omnibus, GDPR, DSA, KSeF-klar og butikkfrontfunksjoner samlet på ett sted.

Polski for WooCommerce kombinerer kravene i det polske markedet, gjeldende EU-direktiver og butikkfunksjoner i én plugin. I stedet for å installere 10 separate plugins for enhetspriser, angrerettskjemaer, GPSR, DSA, matdata, samsvarsrevisjon og merchandisingverktøy - får du alt i én pakke.

Pluginen er for øyeblikket under gjennomgang på WordPress.org. Kildekoden er tilgjengelig på GitHub.

Krav: WordPress 6.4+, WooCommerce 8.0+, PHP 8.1+ | Versjon: 1.3.0 | Lisens: GPLv2


#Innholdsfortegnelse


#Installasjon og konfigurasjon

#Kom i gang

Konfigurasjonen av Polski for WooCommerce består av 6 trinn. De fleste innstillinger fungerer med standardverdier - det er tilstrekkelig å aktivere modulene.


#Installasjon

#Fra WordPress-panelet (anbefalt)

  1. Gå til Plugins > Legg til ny
  2. Søk etter Polski for WooCommerce
  3. Klikk Installer og Aktiver
  4. En ny Polski-meny vises i sidepanelet

#Manuelt fra ZIP-fil

  1. Last ned ZIP fra GitHub
  2. Plugins > Legg til ny > Last opp plugin
  3. Velg ZIP-filen og klikk Installer
  4. Klikk Aktiver

#Aktivering av moduler

Etter aktivering, gå til Polski > Moduler. Du vil se en liste over 42 tilgjengelige moduler gruppert i kategorier:

  • Priser og Omnibus - enhetspris, laveste pris siste 30 dager, moms-visning
  • Kasse - bestillingsknapp, juridiske avmerkingsbokser, NIP
  • Juridisk samsvar - GPSR, DSA, KSeF, grønnvasking, GDPR
  • Forbrukerrettigheter - angrerettskjema, juridiske sider, ODR
  • Produktinformasjon - leveringstid, produsent, merker, GTIN
  • Matvarer - næringsinnhold, allergener, Nutri-Score
  • Butikkmoduler - ønskeliste, sammenligning, hurtigvisning, filtre, søk
  • E-post - juridiske vedlegg, dobbelt opt-in
  • Verktøy - samsvars-dashboard, butikkrevisjon

Hver modul har en på/av-bryter. Aktiver de du trenger.


#Juridisk konfigurasjon (minimum)

For grunnleggende samsvar med polsk lov, aktiver:

  1. Juridiske avmerkingsbokser - gå til modulinnstillingene, aktiver avmerkingsbokser for brukervilkår, personvernpolicy og angrerett
  2. Bestillingsknapp - endrer automatisk teksten til “Jeg bestiller med betalingsplikt”
  3. Juridiske sider - velg dine sider for Brukervilkår, Personvernpolicy og Angrerett

#MVA-konfigurasjon

  1. Sørg for at du har riktige MVA-satser under WooCommerce > Innstillinger > Avgifter (23%, 8%, 5%, 0%)
  2. Aktiver MVA-visning-modulen og velg modus (brutto/netto)
  3. Hvis du benytter subjektiv MVA-fritak (art. 113) - kryss av i den aktuelle avmerkingsboksen

#GPSR (hvis du selger fysiske produkter)

Fra 13. desember 2024 krever GPSR-forordningen at produktsider i nettbutikker inneholder opplysninger om produsent og ansvarlig person. Aktiver GPSR-modulen og fyll inn dataene i fanen Polski i produktredigereren.


#Samsvars-dashboard

Gå til Polski > Dashboard og klikk Kontroller samsvar. Systemet vil verifisere:

  • Om juridiske sider er opprettet og tilknyttet
  • Om juridiske avmerkingsbokser er aktivert på kassen
  • Om bestillingsknappen har riktig tekst
  • Om MVA-satser er konfigurert
  • Om GPSR-data er fylt inn (hvis modulen er aktiv)

Grønt/rødt resultat for hvert punkt. Reparer røde elementer og kontroller på nytt.


#Temaomaler

Alle pluginens maler kan overstyres fra temaet. Kopier filen fra wp-content/plugins/polski/templates/ til wp-content/themes/your-theme/polski/ og rediger.


#REST API

Pluginen tilbyr et komplett REST API under navnerommet polski/v1/:

  • GET /polski/v1/settings - hent innstillinger
  • POST /polski/v1/settings - oppdater innstillinger
  • GET /polski/v1/withdrawals - liste over returforespørsler
  • GET /polski/v1/checkboxes - konfigurasjon av avmerkingsbokser

API-dokumentasjonen er tilgjengelig etter installasjon av pluginen.


#WP-CLI

wp polski migrate        # kjør databasemigrasjoner
wp polski smoke-test     # kontroller at installasjonen er korrekt

#GPSR - generell produktsikkerhet

Fra 13. desember 2024 krever EU-forordning 2023/988 (GPSR - General Product Safety Regulation) at produktsider i nettbutikker inneholder opplysninger om produsent og den personen som er ansvarlig for produktets samsvar med regelverket. GPSR-modulen i Polski for WooCommerce viser automatisk denne informasjonen på produktsiden og gir administrasjonsverktøy for å administrere dataene i admin-panelet.


#Aktivering av modulen

  1. Gå til Polski > Moduler
  2. Finn seksjonen Juridisk samsvar
  3. Aktiver GPSR-modulen
  4. Lagre endringer

Når modulen er aktivert, registreres nye felt i produktredigereren og det legges til en statuskolonne på produktlisten.


#GPSR-felt i produktredigereren

Når modulen er aktivert, vises en seksjon GPSR - Produktsikkerhet (fanen Polski) i redigereren for hvert produkt. Den inneholder 8 felt:

FeltTypeBeskrivelse
ProdusentnavntekstFullt navn på enheten som produserte produktet
ProdusentadressetekstområdeFullstendig postadresse til produsenten
ImportørnavntekstImportørens navn (fyll ut hvis produktet kommer fra utenfor EU)
ImportøradressetekstområdeFullstendig postadresse til importøren
Ansvarlig persontekstEU-enheten som er ansvarlig for produktets GPSR-samsvar
ProduktidentifikatortekstPartinummer, serienummer eller annen identifikator
SikkerhetsadvarslertekstområdeAdvarsler påkrevd av regelverket eller produsenten
SikkerhetsinstruksjonertekstområdeInstruksjoner for sikker bruk

GPSR-seksjonen på produktsiden vises kun når minst ett felt er fylt ut. Dataene presenteres i et <details>-element med overskriften “Produktsikkerhet (GPSR)” - kunden kan utvide det ved å klikke.


#Visning på produktsiden

Modulen injiserer automatisk GPSR-seksjonen under produktinformasjonen (hook woocommerce_product_meta_end). Den viser bare de feltene som har en verdi.

HTML-strukturen til seksjonen:

<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>

Du kan tilpasse seksjonstilsnittet via CSS i temaet, ved hjelp av klassene .polski-gpsr-info, .polski-gpsr-info__details og .polski-gpsr-info__list.

Hvis du vil endre oppsettet eller innholdet i seksjonen, kopier malen fra: wp-content/plugins/polski/templates/single-product/gpsr-info.php til: wp-content/themes/twoj-motyw/polski/single-product/gpsr-info.php


#GPSR-statuskolonne på produktlisten

På produktlisten (Produkter > Alle produkter) legger modulen til en GPSR-kolonne med en visuell indikator for utfyllingsgrad:

  • Grønt hakemerke (✓) - 3 eller flere av 8 felt er fylt ut
  • Gul advarselstrekant - 1-2 felt er fylt ut
  • Grå bindestrek - ingen felt er fylt ut

Når du holder musepekeren over ikonet, vises et verktøytips med antall utfylte felt, f.eks. “5/8 felt fylt ut”. Dette gjør det enkelt å identifisere produkter som mangler GPSR-data uten å åpne hvert enkelt produkt.


#CSV-import og -eksport

GPSR-modulen støttes fullt ut av CSV-import/eksport-mekanismen i Polski for WooCommerce. Dette er den raskeste måten å fylle ut GPSR-data for mange produkter samtidig.

#Eksport

  1. Gå til Polski > Import / Eksport CSV
  2. Klikk Eksporter produkter
  3. Last ned CSV-filen

I CSV-filen har hvert produkt GPSR-kolonner med prefikset polski_gpsr_:

CSV-kolonneTilsvarende felt
polski_gpsr_manufacturer_nameProdusentnavn
polski_gpsr_manufacturer_addressProdusentadresse
polski_gpsr_importer_nameImportørnavn
polski_gpsr_importer_addressImportøradresse
polski_gpsr_responsible_personAnsvarlig person
polski_gpsr_product_identifierProduktidentifikator
polski_gpsr_safety_warningsSikkerhetsadvarsler
polski_gpsr_instructionsSikkerhetsinstruksjoner

#Import

  1. Fyll ut GPSR-kolonnene i CSV-filen (kolonnen id eller sku kreves for produktidentifikasjon)
  2. Gå til Polski > Import / Eksport CSV
  3. Last opp filen og klikk Importer
  4. Pluginen oppdaterer produktmetadata for alle rader i filen

Import overskriver eksisterende verdier. Tomme celler i CSV fjerner tidligere lagrede data for det aktuelle feltet.


#Vanlige spørsmål

Må jeg fylle ut alle 8 felt?

Nei. GPSR-seksjonen vises på produktsiden bare for felt som har en verdi. Minimum må du oppgi opplysningene som kreves av GPSR-forordningen for din type virksomhet - vanligvis produsent eller importør og ansvarlig person. Rådfør deg med en advokat eller tilsynsmyndighet om de spesifikke kravene.

GPSR-seksjonen vises ikke på produktsiden - hva bør jeg kontrollere?

Først, sørg for at GPSR-modulen er aktivert under Polski > Moduler. Åpne deretter produktredigereren og kontroller at minst ett GPSR-felt har en verdi - en tom seksjon vises aldri. Hvis temaet overstyrer produktmalen og fjerner hook woocommerce_product_meta_end, injiseres ikke GPSR-seksjonen.

Hvordan raskt finne ut hvilke produkter som mangler GPSR-data?

På produktlisten (Produkter > Alle produkter) viser GPSR-kolonnen en grå bindestrek for produkter uten data. Du kan sortere listen eller bruke WooCommerce-filtre for å identifisere produkter som må fylles ut. For et større antall produkter, bruk CSV-eksport, filtrer rader med tomme GPSR-kolonner og importer den utfylte filen.

Er GPSR-data inkludert i WooCommerce Store API (Gutenberg-blokker)?

Ja. GPSR-data registreres av pluginens Store API-utvidelse (ProductDataExtension), slik at de er tilgjengelige både i klassiske temaer og i WooCommerce-blokker.

Hvordan tilpasse utseendet på GPSR-seksjonen på produktsiden?

Kopier filen wp-content/plugins/polski/templates/single-product/gpsr-info.php til wp-content/themes/twoj-motyw/polski/single-product/gpsr-info.php og rediger fritt. Du kan også legge til egne CSS-stiler for klassene .polski-gpsr-info og .polski-gpsr-info__list.


#Relaterte dokumentasjonssider

#Omnibus - laveste pris siste 30 dager

Omnibus-modulen i Polski for WooCommerce sporer automatisk prishistorikk for produkter og viser den laveste prisen fra de siste 30 dagene for produkter som er på salg. Den oppfyller kravene i Omnibus-direktivet (EU 2019/2161), som har vært gjeldende i Polen siden 1. januar 2023.


#Hva er Omnibus-direktivet?

Omnibus-direktivet (EU 2019/2161) pålegger nettbutikker å informere kunder om den laveste prisen på et produkt de siste 30 dagene når produktet presenteres som tilbud. Det betyr at det ved siden av den overstrekede (regulære) prisen og tilbudsprisen må vises en melding som: “Laveste pris siste 30 dager: 89,00 kr”.

Modulen registrerer prisen hver gang et produkt lagres og lagrer historikken automatisk. Det kreves ingen manuell dataregistrering.


#Aktivering av modulen

  1. Gå til Polski > Moduler
  2. Finn modulen Laveste pris (Omnibus) i gruppen “Priser og Omnibus”
  3. Aktiver bryteren og klikk Lagre innstillinger
  4. Fra dette tidspunktet begynner pluginen å lagre priser hver gang et produkt lagres

#Hvordan fungerer prissporing?

Prisen registreres automatisk i to situasjoner:

  • ved lagring av et enkelt produkt (woocommerce_update_product, woocommerce_new_product)
  • ved lagring av en variant av et variabelt produkt (woocommerce_save_product_variation)

Maksimalt én post per produkt lagres per dag - duplikater hoppes over. Modulen sporer både regulær pris og salgspris. Den laveste effektive prisen i sporingsperioden beregnes automatisk ved visning.

Gamle poster slettes automatisk av en cron-jobb (polski_daily_maintenance) i henhold til innstillingen “Oppbevar historikk (dager)”.


#Modulinnstillinger

#Prissporing

InnstillingStandardverdiBeskrivelse
Sporingsperiode (dager)30Antall dager som tas med i beregningen av laveste pris. Direktivet krever minimum 30 dager.
Oppbevar historikk (dager)90Poster eldre enn denne grensen slettes automatisk fra databasen.
Priser med avgiftaktivertNår aktivert, spores og vises priser inklusiv MVA (brutto).

#Visning

InnstillingStandardverdiBeskrivelse
Kun produkter på salgaktivertInformasjonen vises bare når produktet har en aktiv salgspris.
ProduktsideaktivertViser meldingen på den individuelle produktsiden.
Produktliste (butikk, kategorier)deaktivertViser meldingen i produktloopen.
Relaterte og anbefalte produkterdeaktivertViser meldingen i seksjonene “Lignende produkter” og “Anbefalte”.
HandlekurvdeaktivertViser meldingen ved produktet i handlekurven.
Vis regulær pris (før tilbud)deaktivertTilleggsinformasjon om prisen før tilbudet startet.

#Meldingsmal

InnstillingStandardverdiBeskrivelse
MeldingstekstLaveste pris de siste {days} dagene: {price}Tekst som vises ved produktet. Støtter variabler: {price}, {days}, {date}, {regular_price}.
Ingen prishistorikkSkjul meldingOppførsel når historiske data mangler: skjul / vis gjeldende pris / egendefinert tekst.
Egendefinert tekst (ingen historikk)Prisen har ikke endret seg i løpet av {days} dagerTekst som vises når historikk mangler og alternativet “egendefinert tekst” er valgt.
Beregnet fraDagen tilbudet startetReferansepunkt: dagen tilbudet startet eller dagens dato.

#Variable produkter

InnstillingStandardverdiBeskrivelse
Spor varianter separataktivertHver variant av et variabelt produkt har sin egen uavhengige prishistorikk.

#Malvariabler

I feltet “Meldingstekst” kan du bruke følgende variabler:

  • {price} - laveste effektive pris i sporingsperioden (formatert, med valuta)
  • {days} - antall dager fra innstillingen “Sporingsperiode”
  • {date} - dato da laveste pris ble registrert
  • {regular_price} - produktets regulære pris før tilbudet

Eksempelmeldinger:

Laveste pris de siste {days} dagene: {price}
Forrige laveste pris: {price} (de siste {days} dagene)
Pris for tilbudet: {regular_price} | Laveste pris i 30 dager: {price}

#Shortcode

Shortcode [polski_omnibus_price] lar deg vise informasjon om laveste pris hvor som helst - i produktbeskrivelsen, i en sidemall eller i et page builder-element.

Grunnleggende bruk (viser prisen for det gjeldende produktet i WooCommerce-loopen):

[polski_omnibus_price]

Med spesifikt produkt (utenfor WooCommerce-loopen, f.eks. på en tekstside):

[polski_omnibus_price product="123"]

Der 123 er produkt-ID. Shortcoden returnerer en tom streng når produktet ikke er på salg (med standardinnstillingen “Kun produkter på salg”) eller når historiske data mangler.


#Kompatibilitet med eksterne Omnibus-plugins

Polski for WooCommerce-pluginen oppdager automatisk populære eksterne Omnibus-løsninger (f.eks. wc-price-history). Når en slik plugin er aktiv, delegerer modulen datainnhenting til den i stedet for å bruke sin egen prishistorikk-database. Integrasjonsstatusen er synlig i modulpanelet.

Når ingen ekstern plugin er installert, brukes det innebygde sporingssystemet.


#CSS-klasser og HTML-filter

Den genererte HTML-en har følgende struktur:

<div class="polski-omnibus-price">
  <span class="polski-omnibus-price__text">Laveste pris de siste 30 dagene: 89,00 PLN</span>
</div>

Du kan endre utseendet via CSS i temaet eller bruke PHP-filteret:

add_filter('polski/price/omnibus_html', function (string $html, $lowest, $product): string {
    // $lowest er et OmnibusPrice-objekt med feltet effectivePrice() og currency
    // $product er et WC_Product-objekt
    return $html;
}, 10, 3);

#Vanlige spørsmål

Fungerer modulen bakover - vil den ha data med en gang den aktiveres?

Nei. Sporing begynner fra aktiveringstidspunktet. De første dataene vises neste gang et produkt lagres (manuelt eller via masseOppdatering). For butikker med mange produkter kan du utføre en masseoppdatering via WooCommerce > Produkter > Velg alle > Rediger.

Produktet viser ikke Omnibus-meldingen - hvorfor?

Kontroller i rekkefølge: (1) om modulen er aktivert under Polski > Moduler, (2) om produktet har en aktiv salgspris - med standardinnstillinger vises meldingen bare for produkter på salg, (3) om det allerede er lagret historiske data for produktet - pluginen må først registrere minst én post.

Fungerer modulen med variable produkter?

Ja. Med alternativet “Spor varianter separat” aktivert, har hver variant sin egen prishistorikk. Shortcoden og automatisk visning fungerer for både enkle produkter og varianter.

Hvor raskt slettes gamle data?

Cron-jobben polski_daily_maintenance kjøres én gang daglig. Den sletter poster som er eldre enn verdien i innstillingen “Oppbevar historikk (dager)” (standard 90 dager). Du kan endre dette i modulkonfigurasjonen.

Kan jeg bruke en egendefinert visningsmal?

Ja. Kopier malmalen fra wp-content/plugins/polski/templates/ til wp-content/themes/your-theme/polski/ og rediger. Alternativt kan du bruke PHP-filteret polski/price/omnibus_html.


#Angrerett - returer

Returmodulen automatiserer forbrukerens lovbestemte rett til å trekke seg fra en avtale inngått på avstand. Kunden sender inn en forespørsel direkte fra “Min konto”-panelet, butikken mottar et varsel, og hele flyten logges i admin-panelet.


#Direktiv 2023/2673 - hva og når trer det i kraft

Europaparlaments- og rådsdirektiv 2023/2673 av 22. november 2023 endrer reglene for utøvelse av angreretten for nettbutikker som opererer i EU. Den norske implementeringen trer i kraft 19. juni 2026.

De viktigste endringene:

  • Forbrukeren må ha tilgang til et standardisert angrerettskjema i elektronisk format direkte på butikksiden
  • Selgeren er forpliktet til å bekrefte mottak av forespørselen elektronisk uten unødvendig forsinkelse
  • 14-dagersfristen beregnes fra den dagen forbrukeren fikk fysisk besittelse av varen (ikke fra bestillingsdatoen)

Returmodulen i Polski for WooCommerce håndterer disse kravene umiddelbart etter aktivering.


#Slik fungerer returprosessen

#Kundesiden

  1. Kunden logger inn på Min konto > Bestillinger
  2. Ved hver bestilling som er kvalifisert for retur, vises knappen Trekk fra avtalen
  3. Etter å ha klikket ser kunden et skjema med et valgfritt felt “Årsak til tilbaketrekking”
  4. Etter innsending mottar kunden en bekreftelsesmelding om at forespørselen er mottatt
  5. En bekreftelse sendes til den oppgitte e-postadressen - påkrevd av direktiv 2023/2673

#Adminsiden

  1. Et notat om den innsendte forespørselen vises i bestillingspanelet
  2. Forespørselen havner i seksjonen Polski > Returer med statusen “Innsendt”
  3. Admin gjennomgår forespørselen og velger en handling: Bekreft eller Avvis
  4. Etter bekreftelse behandler butikken refusjonen manuelt eller via WooCommerce Refunds
  5. Etter at prosessen er fullført, endrer admin statusen til “Fullført”

#Forespørselsstatus

StatusBeskrivelse
InnsendtKunden har sendt inn forespørselen, venter på respons fra butikken
BekreftetAdmin har bekreftet mottak av forespørselen
FullførtRefusjon behandlet
AvvistForespørselen er avvist (f.eks. etter at fristen er utløpt)

#Shortcode [polski_withdrawal_form]

Shortcoden lar deg plassere angrerettskjemaet på en hvilken som helst WordPress-side - for eksempel på en dedikert side for “Returer og reklamasjoner”.

[polski_withdrawal_form]

Skjemaet sjekker automatisk om kunden er innlogget og om bestillingen er kvalifisert. Hvis kunden ikke er innlogget, vises en lenke til pålogging.


#Ett-klikks modus (one-click)

Når alternativet Ett-klikks tilbaketrekking er aktivert i modulinnstillingene, vises en ekstra knapp ved bestillingen med en forenklet flyt:

  1. Kunden klikker knappen med ett klikk
  2. En bekreftelsesside vises (uten skjema med årsak-felt)
  3. Kunden bekrefter med å klikke “Bekreft tilbaketrekking”
  4. Forespørselen registreres i systemet på samme måte som med standardskjemaet

Denne modusen minimerer antall trinn og avbrudd i returflyten. Nyttig i butikker med høyt returvolum.


#Produktspesifikke unntak

Noen produkter er ved lov unntatt fra angreretten - for eksempel bestillingsvarer, lyd- og videoopptak etter brudd på forseglingen, digitalt innhold levert umiddelbart.

Slik unntaes et spesifikt produkt:

  1. Gå til produktredigereren i WooCommerce
  2. Åpne fanen Produktdata > Polski
  3. Kryss av for Utelat fra angrerett

Hvis alle produkter i en bestilling er unntatt, vises ikke angrerettknappen for den bestillingen. Hvis bestillingen inneholder en blanding av unntatte og vanlige produkter, er knappen tilgjengelig.


#Modulkonfigurasjon

Modulinnstillinger tilgjengelig under Polski > Innstillinger > Returer:

InnstillingBeskrivelse
KnappetekstEtikett på knappen ved bestillingen (standard: “Trekk tilbake fra kontrakt”)
Ett-klikks tilbaketrekkingAktiverer den forenklede ett-klikks flyten
Knappetekst one-clickSeparat etikett for one-click-knappen
Bestillingsnotat (innsending)Innhold i automatisk notat ved innsending av forespørsel
Bestillingsnotat (bekreftelse)Innhold i automatisk notat ved adminbekreftelse
SuksessmeldingMelding som vises til kunden etter innsending av forespørsel
Årsak-etikettInnhold i etiketten for feltet “Årsak til tilbaketrekking” i skjemaet
DatostatusformatFormat for datoen som vises i kundens bestillingsdetaljer

#E-postvarsler

Modulen sender e-poster via WooCommerces standardsystem:

  • Til kunden - bekreftelse på mottak av forespørsel, sendes automatisk etter innsending av skjema
  • Til admin - varsel om ny forespørsel
  • Til kunden - varsel om bekreftelse fra butikken (etter admin-handling)

Innholdet i e-postene kan redigeres under WooCommerce > Innstillinger > E-poster. Maler tilgjengelige for overstyring i temaet i mappen yourtheme/polski/emails/.


#Filtre for utviklere

Modulen tilbyr PHP-filtre for å tilpasse oppførselen:

// Endre antall dager for angrerett (standard 14)
add_filter('polski/withdrawal/period_days', function(int $days): int {
    return 30; // f.eks. utvid til 30 dager som USP for butikken
});

// Endre bestillingens kvalifisering
add_filter('polski/withdrawal/eligible', function(bool $eligible, \WC_Order $order): bool {
    // egen logikk
    return $eligible;
}, 10, 2);

// Legg til egne felter i skjemaet
add_filter('polski/withdrawal/form_fields', function(array $fields): array {
    $fields['contact_preference'] = [
        'type'     => 'select',
        'label'    => 'Foretrukket kontaktmetode',
        'options'  => ['email' => 'E-post', 'phone' => 'Telefon'],
        'required' => false,
    ];
    return $fields;
});

Handlinger tilgjengelige for hooking:

add_action('polski/withdrawal/requested',  function(\Polski\Model\WithdrawalRequest $req): void { /* ... */ });
add_action('polski/withdrawal/confirmed',  function(\Polski\Model\WithdrawalRequest $req): void { /* ... */ });
add_action('polski/withdrawal/completed',  function(\Polski\Model\WithdrawalRequest $req): void { /* ... */ });

#Betingelser for kvalifisering av bestilling

En bestilling kvalifiserer for retur når alle følgende betingelser er oppfylt:

  1. Det har gått mindre enn 14 dager siden bestillingens fullføringsdato (eller opprettelsesdato, hvis bestillingen ikke har statusen “fullført”)
  2. Det finnes ingen aktiv returforespørsel for denne bestillingen (med annen status enn “Avvist”)
  3. Minst ett produkt i bestillingen er ikke unntatt fra angreretten
  4. Filteret polski/withdrawal/eligible returnerer ikke false

#Vanlige spørsmål

Kan kunden sende inn flere forespørsler for samme bestilling?

Nei. Systemet blokkerer en ny forespørsel hvis det finnes en aktiv forespørsel for den aktuelle bestillingen (med status Innsendt, Bekreftet eller Fullført). Innsending av en ny forespørsel er bare mulig hvis den forrige ble avvist.

Hva skjer når alle produkter i bestillingen er unntatt fra retur?

Angrerettknappen vises ikke ved en slik bestilling. Kunden kan ikke sende inn en forespørsel verken via “Min konto” eller via shortcoden.

Refunderer modulen automatisk penger i WooCommerce?

Nei. Modulen håndterer forespørsler og kommunikasjon - selve refusjonen krever manuell handling fra admin i bestillingspanelet eller integrasjon med et eksternt system via handlingen polski/withdrawal/confirmed.

Kan jeg endre 14-dagersperioden til en lengre periode?

Ja, ved hjelp av filteret polski/withdrawal/period_days. Husk at å forkorte perioden til under 14 dager er i strid med EU-forbrukerlovgivningen.

Hvordan tilpasse utseendet på skjemaet på siden?

Kopier malen fra wp-content/plugins/polski/templates/account/withdrawal-confirm.php til wp-content/themes/yourtheme/polski/account/withdrawal-confirm.php og rediger etter behov.


#Andre dokumentasjonssider

#Butikkmoduler

Polski for WooCommerce leverer 13 butikkmoduler som utvider WooCommerce-grensesnittet med funksjoner som forventes av kunder i moderne nettbutikker. Hver modul aktiveres separat under Polski > Moduler og konfigureres uavhengig.


#1. Ønskeliste (wishlist)

Lar kunder lagre produkter på en ønskeliste uten å kjøpe dem. Fungerer både for gjester (cookie) og innloggede brukere (database). Etter innlogging slås ønskelisten fra gjesteøkten automatisk sammen med kontoen.

Hvor knappen vises:

  • Produktside (hook woocommerce_single_product_summary, prioritet 33)
  • Produktfliser i arkiv (hook woocommerce_after_shop_loop_item, prioritet 19)

Fane i kundekontoen: lenken “Favoritter” legges automatisk til i Min konto-menyen.

Shortcode: ingen dedikert shortcode - listen gjengis via kontosluttpu nktet /polska-wishlist/.

Viktige innstillinger:

InnstillingStandardverdiBeskrivelse
allow_gueststrueTillat gjester uten innlogging
show_on_singletrueKnapp på produktsiden
show_on_looptrueKnapp i produktliste
show_in_accounttrueFane i Min konto
grid_columns4Antall kolonner i rutenettet (2-6)
show_pricetruePris på ønskelisten
show_add_to_carttrueLegg i handlekurv-knapp

Gutenberg-blokk og Elementor-widget tilgjengelig for å bygge inn ønskelisten hvor som helst.


#2. Produktsammenligning

Gjør det mulig å sammenligne opptil 4 (standard) produkter i en sammenligningstabell. Støtter gjester og innloggede brukere. Når listen er full, erstattes det eldste produktet automatisk.

Hvor knappen vises:

  • Produktside (prioritet 34, rett etter ønskeliste)
  • Produktfliser i liste (prioritet 20)

Sammenligningstabellen viser: pris, enhetspris, SKU, tilgjengelighet, leveringstid, merke, produsent, GTIN/EAN, kort beskrivelse og produktattributter.

Fane i kundekontoen: lenken “Sammenligning” i Min konto. For gjester vises tabellen på butikksiden etter å ha lagt til parameteren ?polski_compare=1 i URL-en.

Viktige innstillinger:

InnstillingStandardverdiBeskrivelse
max_items4Maksimalt antall produkter (2-6)
allow_gueststrueTilgang uten innlogging
show_only_differencesfalseVis bare forskjeller som standard
highlight_differencestrueFremhev celler med forskjeller
show_attributestrueAttributter i tabellen
show_descriptiontrueKort beskrivelse i tabellen
show_add_to_carttrueKjøp-knapp i tabellen

Gutenberg-blokk og Elementor-widget tilgjengelig.


#3. Hurtigvisning (quick view)

Åpner en lett AJAX-modal med produktforhåndsvisning direkte fra produktlisten, uten å forlate siden. Modalen støtter produktvarianter.

Knappen vises på produktfliser i listen (hook woocommerce_after_shop_loop_item, prioritet 21). Den aktiveres utelukkende på arkivsider (butikk, kategori, tag, produkttaksonomier).

Modalen inneholder: bilde og galleri (opptil 4 bilder), tittel, pris, enhetspris, SKU, merke, produsent, leveringstid, legg i handlekurv-skjema.

Viktige innstillinger:

InnstillingStandardverdiBeskrivelse
show_on_looptrueKnapp i produktliste
show_imagetrueHovedbilde i modal
show_gallerytrueGalleri (opptil 4 bilder)
show_pricetruePris
show_unit_pricetrueEnhetspris
show_skutrueSKU
show_brandtrueMerke
show_delivery_timetrueLeveringstid
show_add_to_carttrueKjøpsskjema
show_backdrop_closetrueLukk ved klikk på bakgrunn

#4. AJAX-søk (live-søk)

Utvider WooCommerces standardsøk med forslag i sanntid. Resultater vises etter at et minimum antall tegn er skrevet inn (standard 2), med valgfri debouncing.

Søkemotoren søker i tillegg gjennom feltene: produsent (taksonomi polski_manufacturer), GTIN/EAN, ingredienser og GPSR-data - felt som ikke er tilgjengelige i WooCommerces standardsøk.

Shortcode:

[polski_ajax_search]

Gutenberg-blokk og Elementor-widget tilgjengelig for å bygge inn søket i meny, sidepanel eller topptekst.

REST-endepunkt: GET /?rest_route=/polski/v1/search

Viktige innstillinger:

InnstillingStandardverdiBeskrivelse
min_chars2Minimum antall tegn
debounce_ms180Spørringsretning (ms)
limit6Antall resultater
show_imagetrueProduktminiatyrbilde
show_pricetruePris i resultater
show_skutrueSKU i resultater
show_view_all_linktrueLenken “Vis alle”
include_out_of_stockfalseInkluder produkter som ikke er på lager

#5. AJAX-filtre

Progressive filtre for produktarkiver. Filtrering skjer via GET-parametere (URL-vennlig, SEO-vennlig og nettleserhistorikk-vennlig).

Tilgjengelige filtre automatisk: produktkategori, merke (polski_brand), prisintervall, lagerstatus, produkter på salg, WooCommerce-attributter (opptil 4 taksonomier, konfigurerbare).

Hvor skjemaet gjengis: automatisk før produktlisten (woocommerce_before_shop_loop, prioritet 9) på butikk-, kategori-, tag- og produkttaksonomisider.

Shortcode:

[polski_ajax_filters]

Gutenberg-blokk og Elementor-widget tilgjengelig - lar deg plassere filtre i sidepanelet eller over produktlisten.

Viktige innstillinger:

InnstillingStandardverdiBeskrivelse
show_on_shoptrueAutomatisk gjengivelse i arkiv
show_attributestrueAttributtfiltre
max_attribute_taxonomies4Hvor mange attributter som vises

URL-filterparametere:

ParameterBeskrivelse
polski_filter_categoryKategorislug
polski_filter_brandMerkeslug
polski_filter_min_priceMinimumspris
polski_filter_max_priceMaksimumspris
polski_filter_stockinstock - bare på lager
polski_filter_sale1 - bare tilbud
polski_filter_{taxonomy}Termslug for attributter

#6. Produktbildespill

Produktkarusell for presentasjon av utvalgte sortimentsgrupper: nyheter, bestselgere, relaterte produkter eller manuelt valgte. Støtter dra (touch/mouse drag) og autoplay.

Shortcode:

[polski_product_slider category="obuwie" limit="8" autoplay="1"]

Gutenberg-blokk med visuelt kategoriutvalg og Elementor-widget med full utseendekontroll tilgjengelig.


#7. Produktmerker (Badge management)

Automatiske og manuelle merker som vises på produktbildet i produktlisten og på produktsiden. Hvert merke har en stil (farge) og eventuelt en form.

Automatisk genererte merketyper:

MerkeBetingelseStandardstil
TilbudProdukt med rabatt (is_on_sale)warning
NyhetProdukt lagt til innen X dagersuccess
Siste eksemplarerLagerstatus <= terskelwarning
BestselgerTotal salg >= terskelaccent

Manuelle merker: angis per produkt i fanen Polski i redigereren. Felt: hovedtekst (_polski_badge_text), stil (_polski_badge_style), tilleggstekst (_polski_badge_secondary_text).

Hvor merkene vises:

  • Produktside: hook woocommerce_before_single_product_summary, prioritet 6
  • Produktliste: hook woocommerce_before_shop_loop_item_title, prioritet 9

Viktige innstillinger:

InnstillingStandardverdiBeskrivelse
show_on_singletrueProduktside
show_on_looptrueProduktliste
shapepillForm (pill eller square)
uppercasefalseStore bokstaver
max_badges_single4Maks. merker på produktsiden
max_badges_loop3Maks. merker i produktliste
newness_days30Dager til “Nyhet”-merke
low_stock_threshold3Terskel for “Siste eksemplarer”
bestseller_threshold25Terskel for “Bestselger”
show_sale_badgetrueTilbudsmerke
show_new_badgetrueNyhetsmerke
show_low_stock_badgetrueLavlager-merke
show_bestseller_badgetrueBestselger-merke

#8. Fanebehandler (Tab manager)

Lar deg administrere faner på produktsiden: endre rekkefølge, skjule standard WooCommerce-faner (Beskrivelse, Tilleggsinformasjon, Anmeldelser) og legge til egne faner med HTML-innhold eller shortcodes.

Konfigurasjonen er tilgjengelig under Polski > Moduler > Tab manager med forhåndsvisning av faneoppsett.


Gjør det mulig å bygge inn video (YouTube, Vimeo eller egen fil) som første lysbilde i produktgalleriet. Videoen erstatter eller supplerer produktbilder.

Videofeltet angis i fanen Polski i produktredigereren. Støtter YouTube/Vimeo-URL og direkte mp4-fil-URL.


Legger til forstørrelse av produktbildet ved hover eller klikk - både som lightbox og som inline zoom-effekt. Krever bare aktivering av modulen - ingen kodekonfigurasjon nødvendig.


#11. Venteliste (Waitlist)

Når et produkt er utilgjengelig, vises et påmeldingsskjema for ventelisten. Kunden oppgir e-postadressen sin og mottar automatisk et varsel når produktet er tilbake på lager.

Varsler sendes via WooCommerce Transactional Emails. Ventelisten er synlig i produktfanen i admin-panelet.


#12. Uendelig rulling (Infinite scroll)

Erstatter standard WooCommerce-paginering med automatisk lasting av flere produkter under rulling av siden (eller en “Last inn flere”-knapp). Fungerer med AJAX-filtre.

Modusalternativer:

  • scroll - laster inn når slutten av listen nås
  • button - knappen “Vis flere produkter”

#13. Popup

Modul for popup-vinduer for å bygge e-postlister, presentere tilbud eller velkomstrabatter. Utløsere: tid på siden, avslutningsintensjon (exit intent), prosent av siden rullet.

Shortcode for å bygge inn popup i sideinnhold:

[polski_popup id="123"]

Visuell popup-editor tilgjengelig under Polski > Popup.


#14. Trust Badges (tillitsmerker)

Viser konfigurerbare tillitssignaler på produktsider, handlekurv og kasse: sikker betaling, rask levering, pengene-tilbake-garanti, kvalitetsgaranti. Ren CSS + inline SVG-ikoner for null ytelsespåvirkning (ingen ekstra HTTP-forespørsler).

Tilgjengelige ikoner: lock, truck, refresh, shield, star, check, heart


#15. Live Cart Sidebar (handlekurv i sidepanel)

Panel som glir inn og viser handlekurvinnhold når et produkt legges til. Viser produktliste, delsum, fremdriftslinje for gratis frakt og lenke til rask kasse. Ingen sideinnlasting nødvendig - oppdateres via WooCommerce cart fragments.

InnstillingStandardBeskrivelse
auto_opentrueÅpne automatisk ved tillegg i handlekurv
show_subtotaltrueVis delsum
free_shipping_threshold0Terskel for gratis frakt (0 = deaktivert)
positionrightPanelside (right/left)

#16. Social Proof (kjøpsvarsler)

Flytende toast-varsler som viser nylige kjøp (“Jan fra Warszawa kjøpte akkurat…”). AJAX-lastet, 5-minutters cache, konfigurerbar posisjon og tid. Navneanonymisering for GDPR-samsvar.

InnstillingStandardBeskrivelse
display_interval8Intervall mellom varsler (sekunder)
display_duration5Visningstid (sekunder)
positionbottom-leftPosisjon (bottom-left, bottom-right, top-left, top-right)
anonymize_namefalseAnonymiser kundenavn
hide_on_mobilefalseSkjul på mobile enheter

#17. Product Q&A (spørsmål og svar)

Spørsmål og svar i Amazon-stil på produktsider. Kunder stiller spørsmål, alle kan svare. Admin e-postvarsler, avstemning om svar, Schema.org QAPage-markup for SEO rich snippets.


#18. Price History Chart (prishistorikk-diagram)

Visuell SVG-sparkline som viser pristrender på produktsider. Bruker Omnibus-prisdata. Konfigurerbar periode (30/90/180 dager), viser laveste og høyeste priser. Øker prisgjennomsiktighet og kundetillit.

InnstillingStandardBeskrivelse
days30Historieperiode (dager)
show_min_maxtrueVis min/maks-priser
color#0369a1Diagramlinjefarge

#19. Social Login (sosial innlogging)

Innlogging og registrering via Google og Facebook. Merkede knapper på Min konto-siden, i kassen og på WordPress-innloggingsskjemaet. Oppretter automatisk WooCommerce-kundekontoer. Kobler kontoer via e-postadresse.


#20. Expert Reviews (ekspertanmeldelser)

Custom post type expert_review for redaksjonelle produktanmeldelser. Knytt anmeldelser til produkter, gi karakterer (1-10) og konklusjoner. Fargekodede vurderingsmerker og Schema.org Review + Rating-markup for SEO.


#21. Product Authors (produktforfattere)

Egendefinert taksonomi product_author for produktforfattere/-skapere. Vises på produktsider og arkiver. Schema.org Person-markup. Ideell for bokhandler og forlag.


#22. FAQ (ofte stilte spørsmål)

Custom post type polski_faq med kategori-taksonomi. Shortcode [polski_faq] med kategorifilter. CSS-trekkspill uten JavaScript. Schema.org FAQPage-markup for Google rich snippets.

Shortcode:

[polski_faq category="shipping" limit="10"]

#23. Custom Checkout Fields (egendefinerte kassefelter)

Legg til, endre og omorganiser kassefelter. 9 felttyper: text, textarea, select, checkbox, radio, number, email, date, tel. Felter vises i administrasjonsområdet, i e-poster og på Min konto-siden.

Betinget logikk: vis/skjul felter basert på forsendelsesmetode, betalingsmetode, feltverdi, produktkategori eller handlekurvminimum.

Administreres under WooCommerce > Checkout Fields.


#24. GA4 DataLayer / GTM

Google Analytics 4 e-handelssporing via dataLayer. Støtter hendelser: view_item_list, view_item, add_to_cart, begin_checkout, purchase, remove_from_cart. GTM-containerutdrag og gtag.js-støtte. Utsatte skript for Web Vitals.

InnstillingStandardBeskrivelse
gtm_container_idGTM Container-ID (GTM-XXXXXXX)
ga4_measurement_idGA4 Measurement-ID (G-XXXXXXXXXX)
use_sku_as_idfalseBruk SKU i stedet for produkt-ID

#25. Order Export (ordreeksport)

Eksporter WooCommerce-ordrer til CSV med konfigurerbare felter, datointervall- og statusfiltre. 30+ eksporterbare felter inkludert produkter, kundedata og kuponger.

Tilgjengelig under WooCommerce > Order Export.


#26. Stock Export (lagerstatuseksport)

Eksporter produktlagerdata til CSV med 10 konfigurerbare felter. Lagerterskelfilter (<=, >=, =). Variasjonsstøtte. Forhåndsvisningsmodus (HTML-tabell). Semikolonskiller + BOM for Excel.

Tilgjengelig under Products > Stock Export.


#27. Auto Restore Stock (automatisk gjenoppretting av lager)

Gjenoppretter automatisk produktlager når ordrer kanselleres, refunderes eller mislykkes. Forhindrer dobbel gjenoppretting via _polski_stock_restored meta.


#28. AJAX Add to Cart (AJAX legg i handlekurv)

Legg produkter i handlekurven uten sideinnlasting, inkludert variable produkter på enkeltproduktsider. Toast-varsel med slide-in-animasjon ved suksess.


#29. Minimum Order (minimumsbestilling)

Blokker kassen når handlekurven ikke oppfyller minimumsbestillingsverdi eller minimumsvarerantall. Varsler på handlekurv- og kassesider. Overstyring per brukerrolle.


#30. Review Requests (anmeldelsesforespørsler)

Send automatisk e-post med anmeldelsesforespørsel etter fullført bestilling. 2-e-postsekvens (innledende + påminnelse). Produktbilder og anmeldelseslenker inkludert.


#Integrasjon med Gutenberg og Elementor

Alle moduler med shortcodes har tilsvarende Gutenberg-blokker og Elementor-widgets. Gutenberg-blokker tilgjengelige i kategorien Polski i blokkinnleggsverktøyet. Elementor-widgets i seksjonen Polski i widget-panelet.


#Overstyring av maler

Alle butikkmodulenes maler kan overstyres fra det aktive temaet. Kopier filen fra:

wp-content/plugins/polski/templates/

til temamappen:

wp-content/themes/twoj-motyw/polski/

Bevar den originale mappestrukturen. Eksempelstier:

  • polski/loop/wishlist-button.php - ønskeliste-knapp i produktliste
  • polski/single-product/compare-button.php - sammenligningsknapp på produktsiden
  • polski/account/wishlist.php - ønskeliste-side i Min konto
  • polski/account/compare.php - sammenligningssside i Min konto
  • polski/shared/badges.php - merkemale
  • polski/quick-view/content.php - innhold i hurtigvisnings-modal
  • polski/forms/ajax-search.php - AJAX-søkeskjema
  • polski/forms/ajax-filters.php - AJAX-filterskjema

#Neste steg

#Matvaremodul

Matvaremodulen i Polski for WooCommerce gjør det mulig å vise all informasjon som kreves for matvarer solgt i Polen og EU på produktsiden: næringsinnhold, allergener, ingredienser, Nutri-Score, alkoholinnhold, opprinnelsesland og distributørdata.


#Aktivering av modulen

Modulen administreres via alternativet polski_food i databasen. For å aktivere den, gå til plugin-panelet og sett bryteren Matvarer til aktiv. Etter deaktivering gjengis ingen elementer på produktsiden - produktets metadata forblir intakt.


#Produktfelt

Hvert felt lagres som produktmeta i WooCommerce. Tabellen nedenfor beskriver tilgjengelige felt og tilhørende meta-nøkler.

FeltMeta-nøkkelBeskrivelse
Ingredienser_polski_ingredientsFullstendig ingrediensliste som sammenhengende tekst
Allergenertaksonomi polski_allergenTaksonomibegreper tilknyttet produktet
Næringsinnhold_polski_nutrientsJSON-objekt: næringskomponentnavn, verdi, enhet
Referanseenhet_polski_nutrient_reference_unitF.eks. “100 g” eller “100 ml”; standardverdi konfigureres globalt
Nutri-Score_polski_nutri_scoreÉn bokstav: A, B, C, D eller E
Nettomengde_polski_net_filling_quantityF.eks. “250 g”
Alkoholinnhold_polski_alcohol_contentNumerisk verdi; suffikset ”% vol.” legges til automatisk
Opprinnelsesland_polski_place_of_originLand eller produksjonsregion
Distributør_polski_food_distributorDistributørens eller importørens opplysninger

#Næringsinnholdstabell

Næringsinnhold lagres som JSON i meta _polski_nutrients. Hver tabellrad er et nøkkel-verdi-par, der nøkkelen er næringskomponentens navn og verdien er et objekt med feltene value (verdi) og unit (enhet).

Eksempel på JSON-struktur:

{
  "Wartość energetyczna": { "value": 350, "unit": "kcal" },
  "Tłuszcz": { "value": 12, "unit": "g" },
  "w tym kwasy nasycone": { "value": 4.2, "unit": "g" },
  "Węglowodany": { "value": 48, "unit": "g" },
  "w tym cukry": { "value": 6, "unit": "g" },
  "Białko": { "value": 8, "unit": "g" },
  "Sól": { "value": 0.5, "unit": "g" }
}

Tabellen gjengis med en overskrift som angir referanseenheten, f.eks. “Næringsinnhold per 100 g”. Referanseenheten kan angis globalt i modulinnstillingene eller overstyres individuelt per produkt ved hjelp av meta _polski_nutrient_reference_unit.

Tabellen vises ikke når meta _polski_nutrients er tom eller når alternativet show_nutrients er deaktivert i innstillingene.


#Allergendeklarasjon

Allergener administreres via taksonomien polski_allergen. I stedet for å skrive dem inn manuelt, tilknytter du taksonomibegreper til produktet - på samme måte som kategorier eller tagger. Dette gjør det mulig å filtrere produkter etter allergener og administrere listen globalt.

På produktsiden vises allergener med fet skrift, atskilt av kommaer, innledet av etiketten “Allergener”. Etiketten er konfigurerbar i modulinnstillingene (allergens_label).

Seksjonen vises ikke når produktet ikke har noen tilknyttede taksonomibegreper eller når alternativet show_allergens er deaktivert.


#Produktingredienser

Ingrediensfeltet (_polski_ingredients) er et tekstfelt - du skriver inn den fullstendige ingredienslisten slik den skal se ut på produktetiketten. Modulen viser den innledet av etiketten “Ingredienser” (konfigurerbar som ingredients_label).

Seksjonen vises ikke når feltet er tomt eller når alternativet show_ingredients er deaktivert.


#Nutri-Score

Nutri-Score er et europeisk system for å vurdere næringsinnholdet i matvarer på en skala fra A (best) til E (dårligst). I meta-feltet _polski_nutri_score angis én bokstav: A, B, C, D eller E.

Modulen validerer verdien - bare disse fem bokstavene aksepteres. Hvis feltet inneholder en annen verdi eller er tomt, vises ikke merket.

På produktsiden gjengis merket som et HTML-element med CSS-klassen polski-nutri-score--a (eller b, c, d, e), noe som gjør det mulig å style hvert nivå med ulike farger uten ekstra konfigurasjon.

Visning av merket styres av alternativet show_nutri_score i modulinnstillingene.


#Alkoholinnhold

For alkoholprodukter aksepterer feltet _polski_alcohol_content en numerisk verdi for alkoholinnhold. Suffikset ”% vol.” legges til automatisk og kan endres via alternativet alcohol_suffix i innstillingene. Etiketten “Alkoholinnhold” er konfigurerbar som alcohol_label.

Seksjonen vises ikke for produkter der dette feltet er tomt, eller når alternativet show_alcohol er deaktivert.


#Opprinnelsesland og distributør

Opprinnelsesland (_polski_place_of_origin) og distributørdata (_polski_food_distributor) er tekstfelt. Visning av hvert av dem styres uavhengig via alternativene show_origin og show_distributor.

Etikettene “Opprinnelsesland” og “Distributør” er konfigurerbare via henholdsvis origin_label og distributor_label.


#Nettomengde

Feltet _polski_net_filling_quantity lagrer produktets nettomengde som tekst, f.eks. “250 g” eller “0,5 l”. Visning styres av alternativet show_net_filling, og etiketten “Nettomengde” er konfigurerbar via net_filling_label.


#Shortcode [polski_nutrients]

Shortcoden [polski_nutrients] lar deg bygge inn næringsinnholdstabellen hvor som helst i produktbeskrivelsen eller på en side.

[polski_nutrients]

Shortcoden gjengir den samme HTML-en som automatisk visning av tabellen på produktsiden. Nyttig når du vil plassere tabellen på et bestemt sted i beskrivelsen i stedet for på standardposisjonen under beskrivelsen.


#Fullstendig matvareinformasjonsblokk

Metoden getFoodInfoHtml() gjengir alle seksjoner i én blokk <div class="polski-food-info">. Rekkefølgen på elementene er fast:

  1. Ingredienser
  2. Allergener
  3. Næringsinnholdstabell
  4. Nutri-Score
  5. Alkoholinnhold
  6. Opprinnelsesland
  7. Distributør
  8. Nettomengde

Hver seksjon gjengis bare når det aktuelle alternativet er aktivert og produktfeltet inneholder data.


#Vanlige spørsmål

Kan jeg bruke matvaremodulen for produkter uten næringsinnhold?

Ja. Hver seksjon er uavhengig. Hvis du bare fyller ut ingrediens- og allergenfeltet, vil bare de vises. Næringsinnholdstabellen vises bare når meta _polski_nutrients inneholder data.

Hvor i WooCommerce-panelet legger jeg inn næringsinnhold?

Matvareproduktsdatå legges inn i fanen “Matvareprodukt” i WooCommerce-produktredigereren, som modulen legger til automatisk etter aktivering. Næringsinnhold skrives inn i en dedikert seksjon med felt for hver komponent.

Hvordan knytte allergener til et produkt?

Finn seksjonen “Allergener” i produktredigereren (fungerer på samme måte som WooCommerce-tagger). Skriv inn eller velg fra listen allergener - f.eks. “Gluten”, “Laktose”, “Nøtter”. Begrepene administreres globalt under Produkter > Allergener.

Beregnes Nutri-Score automatisk?

Nei. Nutri-Score-karakteren angis manuelt (A, B, C, D eller E). Beregning av karakteren krever kjennskap til den fullstendige sammensetningen og spesifikke formler for den aktuelle produktkategorien - dette er selgerens ansvar.

Kan jeg endre etikettene “Ingredienser”, “Allergener” osv.?

Ja. Alle etiketter er konfigurerbare i modulinnstillingene (polski_food). Endringer gjøres i plugin-panelet og gjelder for alle produkter samtidig.



#Øvrige moduler

#DSA-verktøysett - lov om digitale tjenester

Skjema for rapportering av ulovlig innhold via shortcoden [polski_dsa_report]. Administrasjonspanel for håndtering av rapporter med statussporing. E-postvarsler om nye rapporter.

#KSeF-klar - beredskap for elektroniske fakturaer

Automatisk oppdagelse av bestillinger som krever KSeF-faktura basert på NIP. Handlingshooker: polski/ksef/invoice_ready, polski/ksef/is_required. KSeF-statuskolonne på bestillingslisten. Integrasjon med fakturaplugins.

#Grønnvaskings-direktivet

Felt på produktnivå: grunnlag for miljøpåstand, lenke til sertifikat, utløpsdato. Samsvar med EU-direktivet mot grønnvasking (september 2026).

#GDPR-samtykker og revisjonslogg

Konfigurerbare juridiske avmerkingsbokser på kassen, ved registrering og for anmeldelser. Fullstendig GDPR-revisjonsspor: IP, user agent, tidsstempler. 7 innebygde avmerkingsbokser med redigerbare etiketter og meldinger.

#Enhetspris

Visning av pris per kg, liter, meter eller annen enhet. Påkrevd av polsk handelslovgivning. Shortcode: [polski_unit_price].

#MVA-visning

Konfigurasjon av brutto/netto med informasjon om MVA-sats (“herav 23% MVA”). Støtte for subjektivt MVA-fritak (art. 113, avsnitt 1 i MVA-loven). Shortcode: [polski_tax_notice].

#Leveringstid

Estimert leveringstid per produkt, per variant, med standard fallback. Shortcode: [polski_delivery_time].

#Juridiske sider og e-post

Automatisk generering av sider: Brukervilkår, Personvernpolicy, Returpolicy, Reklamasjoner. Juridiske vedlegg i bestillings-e-poster (tekst eller PDF). Informasjon om ODR-plattformen.

#Dobbelt opt-in

Verifisering av e-postadresse ved kontoregistrering. Aktiveringslenke sendes på e-post, blokkering av innlogging for ikke-aktiverte kontoer.

#Verifiserte anmeldelser

Merke for verifisert kjøp ved anmeldelser. Fungerer for innloggede kunder og gjestkjøp matchet på e-post.

#NIP på kassen

NIP-felt på kassesiden med sjekksum-validering. Automatisk henting av firmaopplysninger (navn, adresse) fra GUS REGON-databasen etter innskriving av NIP. Konfigurasjon av API-miljø (test/produksjon).

#Produktmerker

Separat merketaksonomi uavhengig av GPSR-produsentdata. Visning på produktsiden og i lister, merkearkiver med egne URL-er. Konfigurerbar etikett og separator.

#Energidata

Informasjon om energiforbruk for elektriske apparater (energimerker, energiklasse). Vises på produktsiden i informasjonsseksjonen.

#Schema.org

Automatisk generering av strukturerte data (Product, Offer, AggregateRating) på produktsider. Kompatibel med Google Rich Results.

#CRA-beredskap - Cyber Resilience Act

Forberedelse til CRA-kravene (EU Cyber Resilience Act). Overvåking av open source-komponenter, rapportering av sikkerhetssårbarheter, integrasjon med hendelsesregisteret.

#DPA-sporing - register over databehandling

Sporing av personopplysningsbehandlingsoperasjoner i henhold til GDPR art. 30. Register over databehandleravtaler med underleverandører og tjenesteleverandører.

#Kasseintegrasjon (Checkout toolkit integration)

Kompatibilitetslag med populære plugins for kassefelt, informasjonskapsler og produktdata. Automatisk oppdagelse og integrasjon.

#Samsvars-dashboard og butikkrevisjon

Sentralt kontrollpunkt: juridiske sider, mørke mønstre, DPA, DSA, KSeF-klar, grønnvasking-direktivet, sikkerhet. Grønn/rød status med ett klikk.


#Støttede språk

Pluginen inneholder innebygde oversettelser for adminpanelet og frontenden:

SpråkKodeStatus
Polskpl_PLFull oversettelse (standard)
Engelsken_USFull oversettelse
Tyskde_DEFull oversettelse
Tsjekkiskcs_CZFull oversettelse
Slovakisksk_SKFull oversettelse
UkrainskukFull oversettelse

Oversettelsesfiler finnes i languages/-katalogen. De kan overstyres fra wp-content/languages/plugins/.


#Tekniske krav

ParameterKrav
WordPress6.4+ (testet til 6.8)
WooCommerce8.0+ (testet til 9.6)
PHP8.1+
HPOSJa (Custom Order Tables)
WooCommerce BlocksJa (Store API)
Gutenberg-blokkerJa (AJAX Search, Filters, Slider)
ElementorJa (widgets for søk, filtre, bildespill)
TemaomalerJa (overstyring fra yourtheme/polski/)
REST APIpolski/v1/ navnerom
WP-CLIwp polski migrate, wp polski smoke-test
LisensGPLv2

#Shortcodes

ShortcodeBeskrivelse
[polski_withdrawal_form]Angrerettskjema
[polski_ajax_search]AJAX-søk
[polski_ajax_filters]AJAX-filtre
[polski_product_slider]Produktbildespill
[polski_wishlist]Ønskeliste
[polski_compare]Produktsammenligning
[polski_dsa_report]DSA-skjema
[polski_unit_price]Enhetspris
[polski_delivery_time]Leveringstid
[polski_tax_notice]Skatteinformasjon
[polski_shipping_notice]Fraktinformasjon
[polski_omnibus_price]Omnibus-pris
[polski_manufacturer]Produsentdata
[polski_safety_info]Sikkerhetsinformasjon
[polski_nutrients]Næringsinnhold
[polski_payment_methods]Betalingsmetoder
[polski_complaints]Reklamasjonsskjema

#Slik installerer du

Pluginen er for øyeblikket under gjennomgang på WordPress.org. Etter godkjenning:

  1. Gå til Plugins > Legg til ny i WordPress-panelet
  2. Søk etter Polski for WooCommerce
  3. Klikk Installer og Aktiver
  4. Gå til den nye Polski-menyen i sidepanelet

Kildekode: github.com/wppoland/polski


#Feilrapportering og diskusjoner

Pluginen er et åpen kildekode-prosjekt. Vi oppfordrer til aktiv deltakelse i utviklingen:

Før du rapporterer, kontroller om en lignende rapport allerede finnes. Beskriv problemet så nøyaktig som mulig - WordPress-versjon, WooCommerce, PHP, aktive plugins og trinn for å reprodusere.


#Trenger du hjelp med konfigurasjonen?

Hvis du trenger støtte med konfigurering av pluginen eller tilpasning til de spesifikke kravene til butikken din - kontakt meg.


Polski for WooCommerce - versjon 1.3.0. Forfatter: wppoland.com. Lisens: GPLv2.

Anbefalinger fra LinkedIn

Anbefalinger og erfaringer fra samarbeid med WPPoland

Utvalgte anbefalinger fra ledere innen WordPress, WordCamp og e-handel - med vekt på leveranse i tide, teknisk dybde og forretningsorientert tilnærming til WordPress-utvikling.

Karolina Czapla

Karolina Czapla

Markedsstrateg – Performance & Digital Strategy

“Samarbeidet med Mariusz på WordCamp har vist meg hvor sjelden det er å kombinere dyp teknisk kompetanse med ekte lederskap. Han planlegger, koordinerer og leverer med presisjon, samtidig som han gir teamet rom til å voks...”

Medarrangør, WordCamp Gdynia 2024 & 2025

Argert Boja

Argert Boja

Senior Full‑Stack‑utvikler

“Mariusz er lagkameraten alle ønsker seg: sterke full‑stack‑WordPress‑ferdigheter, klare forklaringer og en positiv holdning selv under press. Han beveger seg lett mellom plugins, ytelse og Gutenberg‑layouts uten å miste ...”

Vi jobbet sammen på WordPress‑prosjekter

Daniel Blossfeld

Daniel Blossfeld

Konsulent for prosessoptimalisering og digitalisering

“Jeg hadde gleden av å jobbe med Mariusz i nesten tre år. I løpet av den tiden viste hans WordPress-utviklingsferdigheter seg å være uvurderlige i en rekke prosjekter, fra nettstedbygging til online medlemsområder og til ...”

Mariusz var hans kunde på WordPress‑prosjekter

Jessica Di Pasquale

Jessica Di Pasquale

Leder SEO-initiativer med datadrevne vekststrategier.

“Mariusz er en veldig dyktig, tålmodig og ekspert fyr. Alltid klar til å hjelpe og fikse feil, jeg satte stor pris på å jobbe med ham. Han er en så flott kollega!”

Ledet Mariusz direkte

Belinda Koch

Belinda Koch

Web-sporingsanalytiker hos TUI

“Mariusz er en flott person å jobbe med. Han er ekstremt motivert til å lære nye ting og dele sin kunnskap, og er svært kunnskapsrik innenfor et bredt spekter av emner. Vi jobbet sammen med digitale analyse- og sporingsem...”

Jobbet med Mariusz om digital analyse og sporing

Paweł Lewczuk

Paweł Lewczuk

Front-end-utvikler, WordPress-utvikler

“Jeg samarbeidet med Mariusz på flere prosjekter, og samarbeidet vårt var alltid eksemplarisk. Jeg tror det ligger mange flere felles prosjekter foran oss. Anbefales på det sterkeste!”

Mariusz var Pawels kunde

Hva er Polski for WooCommerce og hva brukes det til? #
Polski for WooCommerce er en gratis åpen kildekode-plugin som tilpasser en WooCommerce-butikk til polske juridiske og forretningsmessige krav samt gjeldende EU-direktiver. Den inneholder over 40 moduler som dekker GPSR, Omnibus-direktivet, GDPR, DSA, KSeF-ready, angrerettskjemaer, enhetspriser, matdata og 13 merchandisingverktøy. I stedet for å installere et dusin separate plugins for hvert krav, får du alt i én pakke med ett administrasjonspanel. Pluginen er kompatibel med WooCommerce Blocks, HPOS og PHP 8.1+, noe som gjør den klar for de nyeste versjonene av WordPress og WooCommerce.
Er pluginen gratis og hvor kan jeg laste den ned? #
Ja, Polski for WooCommerce er helt gratis og distribueres under GPLv2-lisensen. Pluginen er for øyeblikket under gjennomgang på WordPress.org - etter godkjenning vil den være tilgjengelig for nedlasting direkte fra WordPress-plugin-repositoriet (Plugins > Legg til ny > søk etter 'Polski for WooCommerce'). Kildekoden er offentlig tilgjengelig på GitHub under github.com/wppoland/polski. Det er ingen skjulte avgifter, funksjonsbegrensninger eller tvungne mersalg - alle 42 moduler er gratis tilgjengelige.
Hvilke EU-direktiver og regelverk støtter pluginen? #
Pluginen støtter seks sentrale regelverk: GPSR (generell produktsikkerhet - 8 felt med produsentdata og ansvarlig person), Omnibus-direktivet (automatisk sporing og visning av laveste pris de siste 30 dagene), GDPR (7 konfigurerbare samtykkeavkrysningsbokser med fullstendig revisjonslogg), DSA (skjema for rapportering av ulovlig innhold med administrasjonspanel), KSeF-ready (automatisk deteksjon av bestillinger som krever e-faktura basert på NIP) og direktivet mot grønnvasking (felt for verifisering av miljøpåstander per produkt). Hvert regelverk har en dedikert modul med innstillinger som kan aktiveres eller deaktiveres uavhengig av de andre.
Trenger jeg teknisk kunnskap for å konfigurere pluginen? #
Nei - pluginen er utformet slik at en ikke-teknisk person kan sette den opp på 10-15 minutter. Administrasjonspanelet bygget i React tilbyr modulbrytere og dedikerte innstillingssider med beskrivelser på polsk. Samsvars-dashbordet viser grønn/rød status med ett klikk og angir hva som krever oppmerksomhet. Konfigurasjonsveiviseren leder deg trinn for trinn gjennom oppsett av firmaopplysninger, juridiske sider og avkrysningsbokser på kassen. For avanserte brukere er REST API, PHP-kroker og WP-CLI-kommandoer tilgjengelig.
Hva er GPSR og hvorfor trenger butikken min det? #
GPSR (General Product Safety Regulation) er en EU-forordning som gjelder fra 13. desember 2024 og krever at produktsider i nettbutikker inneholder produsentdata, importørdata, den EU-ansvarlige personen, produktidentifikatorer samt sikkerhetsadvarsler og -instruksjoner. Manglende opplysninger kan føre til økonomiske sanksjoner og fjerning av produkter fra markedsplasser. Pluginen legger til 8 GPSR-felt i editoren for hvert WooCommerce-produkt, viser dem automatisk på produktsiden, tilbyr masseimport og -eksport via CSV og viser en samsvarsstatuskolonne i produktlisten i administrasjonspanelet.
Hvordan fungerer angrerettskjemaet og hva endrer direktiv 2023/2673? #
EU-direktiv 2023/2673, som er obligatorisk fra 19. juni 2026, krever at nettbutikker lar kunder sende inn sin angrerettserklæring direkte fra butikksiden - via en knapp, ikke bare et nedlastbart PDF-skjema. Pluginen legger til en knapp 'Trekk tilbake fra kontrakt' i Min konto-seksjonen ved siden av hver bestilling som er berettiget til retur. Kunden klikker på knappen, ser en bekreftelsesside, og etter bekreftelse oppretter systemet automatisk en forespørsel, sender en e-postbekreftelse og registrerer fullstendig revisjonslogg. Administratoren håndterer forespørsler fra et dedikert panel med statuser: Innsendt, Bekreftet, Fullført, Avvist.
Støtter pluginen matvareprodukter og matmerking? #
Ja - modulen for matvareprodukter er en komplett matmerkingsløsning for WooCommerce. Den dekker en næringstabell (per 100g eller 100ml med konfigurerbare kolonneetiketter), en allergendeklarasjon med dedikert taksonomi, en ingrediensliste, et Nutri-Score-merke (A-E med fargekoding), alkoholinnhold, nettomengde, opprinnelsessted og distribusjonsdata. All informasjon vises i en strukturert tabell på produktsiden. Shortcoden [polski_nutrients] lar deg bygge inn næringstabellen hvor som helst, og data kan importeres massevis via CSV.
Hvor kan jeg melde en feil eller foreslå en ny funksjon? #
Meld feil og tekniske problemer på GitHub Issues under github.com/wppoland/polski/issues - beskriv problemet, oppgi WordPress-, WooCommerce- og PHP-versjonene dine, listen over aktive plugins og trinnene for å reprodusere feilen. Still spørsmål, kom med ideer til nye funksjoner og delta i diskusjoner på GitHub Discussions under github.com/wppoland/polski/discussions - det er stedet for mindre presserende samtaler og erfaringsutveksling med andre brukere. Hvis du ikke er teknisk kyndig, kan du også sende tilbakemelding direkte fra plugin-panelet - tilbakemeldingsskjemaet er tilgjengelig i sidepanelet på alle Polski-innstillingssider.

Trenger du FAQ tilpasset bransje og marked? Vi lager en versjon som støtter dine forretningsmål.

Ta kontakt

Relaterte artikler

Slik kombinerer du WooCommerce som handelsmotor med en Astro-frontend for Core Web Vitals, handlekurv, webhooks og teknisk SEO. Arkitektur, PCI-grenser og en produksjonssjekkliste uten eventyr om null latenstid.
wordpress

Headless WooCommerce med Astro: ytelsesguide for netthandel 2026

Slik kombinerer du WooCommerce som handelsmotor med en Astro-frontend for Core Web Vitals, handlekurv, webhooks og teknisk SEO. Arkitektur, PCI-grenser og en produksjonssjekkliste uten eventyr om null latenstid.

Mestre alle aspekter av WooCommerce-ytelse - fra databasetuning og Redis-caching til cart fragments-fiks og headless-arkitektur. Praktiske steg med målbare resultater.
wordpress

WooCommerce-ytelse: handlekurv, checkout, cache og Core Web Vitals

Mestre alle aspekter av WooCommerce-ytelse - fra databasetuning og Redis-caching til cart fragments-fiks og headless-arkitektur. Praktiske steg med målbare resultater.

Hvordan bygge en lynrask e-handelsbutikk med Headless WooCommerce og Astro. Arkitektur, ytelsessammenligning og trinn-for-trinn implementeringsguide.
wordpress

Headless WooCommerce med Astro: E-handelsytelsesguiden 2026

Hvordan bygge en lynrask e-handelsbutikk med Headless WooCommerce og Astro. Arkitektur, ytelsessammenligning og trinn-for-trinn implementeringsguide.