Verouderde WooCommerce-sjablonen in je thema herstellen

Vind verouderde WooCommerce-sjablonen in je thema, achterhaal welke bestanden waarschuwingen veroorzaken en werk ze bij zonder aanpassingen kwijt te raken of je livewinkel in gevaar te brengen.

Laatst bijgewerkt:

Engelstalig origineel op juistheid gecontroleerd door Jesse Nickles

Het verouderde sjabloon vinden

  1. Open in WP Admin WooCommerce → Status → System status.
  2. Scrol naar Templates en zoek naar overschreven bestanden die als verouderd zijn gemarkeerd.
  3. Noteer elk bestandspad en de vermelde sjabloonversie. Controleer of de override bij het hoofdthema of bij een actief childtheme hoort.

Een thema kan PHP-sjablonen van WooCommerce naar de eigen map woocommerce/ kopiëren om de indeling of werking van de winkel aan te passen. Anders dan de ingebouwde WooCommerce-sjablonen worden die kopieën niet automatisch bijgewerkt met de plugin. WooCommerce vergelijkt de opmerking @version bovenaan elke override met de versie van het huidige standaardsjabloon. Een waarschuwing over veroudering betekent dat de code moet worden nagekeken, niet noodzakelijk dat de winkel defect is. Zie de officiële instructies voor sjabloonupdates.

Deze stappen gaan over PHP-sjabloonoverrides. Blokthema’s kunnen ook HTML-sjablonen voor winkelindelingen gebruiken. Die beheer je afzonderlijk via de Site Editor. Zie daarvoor de WooCommerce-documentatie over blokthema’s.

Werk eerst je thema bij

Begin niet met het bewerken van sjabloonbestanden in een livewinkel. Maak een back-up van de sitebestanden en database en test de wijzigingen vervolgens op een testkopie.

  1. Controleer of er een update is voor het actieve thema en installeer die eerst in de testomgeving. Themaontwikkelaars nemen bijgewerkte WooCommerce-sjablonen vaak op in hun releases.
  2. Gebruik je een childtheme, controleer dat dan afzonderlijk. Een update van het hoofdthema vervangt geen aangepaste sjablonen in het childtheme.
  3. Ga terug naar WooCommerce → Status → System status → Templates en kijk of de waarschuwingen verdwenen zijn.
  4. Test een betrokken productpagina, productvariaties, de winkelwagen en het afrekenen. Als een e-mailsjabloon was gemarkeerd, test dan ook de betreffende transactionele e-mail.

Als je thema nog steeds verouderde sjablonen bevat, vraag de ontwikkelaar dan om een bijgewerkte versie voordat je zelf aan de bestanden begint.

De broncode van HoverCraft bevat een global/quantity-input.php-override voor de keuzelijst met aantallen. Die aanpassing is bewust aangebracht. Verwijder het bestand daarom niet alleen om een waarschuwing weg te krijgen. Lees eerst Thema-updates en WooCommerce-productpagina’s.

Een aangepast sjabloon herstellen

Als je het thema of childtheme zelf onderhoudt, vergelijk het gemarkeerde bestand dan met het overeenkomstige sjabloon in de geïnstalleerde WooCommerce-versie. De paden komen doorgaans als volgt overeen:

Behoud eventuele submappen uit [relative-path]. Zo hoort emails/admin-new-order.php in de map woocommerce/emails/ van het childtheme, niet in de hoofdmap ervan.

  1. Bewaar een aparte kopie van de bestaande override en stel vast welke wijzigingen er speciaal voor jouw site zijn aangebracht.
  2. Kopieer in de testomgeving het actuele WooCommerce-sjabloon naar de overeenkomstige locatie in je childtheme.
  3. Breng alleen de aanpassingen opnieuw aan die je nog nodig hebt. Controleer in het nieuwere sjabloon of WooCommerce-hooks (benoemde punten waar code inhoud toevoegt), PHP-variabelen (waarden die het sjabloon gebruikt) en HTML-markup zijn veranderd.
  4. Test de betreffende winkelpagina of e-mail en controleer opnieuw het WooCommerce-statusrapport voordat je de wijziging live zet.

Wijzig niet alleen de @version-kop om een waarschuwing te laten verdwijnen: daarmee wordt de code niet bijgewerkt. Bewerk nooit rechtstreeks de sjablonen in de WooCommerce-plugin, want een pluginupdate vervangt die wijzigingen. Ook aanpassingen in het hoofdthema kunnen bij een update verdwijnen. De WooCommerce-documentatie over sjabloonoverrides legt de bestandsstructuur uit en waarom een childtheme veiliger is voor sitespecifieke wijzigingen.

Als de waarschuwing blijft of iets niet werkt