Durch das Hinzufügen eines ../wp-content/themes/mein-theme/woocommerce/ Ordners in ein WordPress Theme, veranlasst du WooCommerce dazu, deine benutzerdefinierten Templates direkt aus deinem Theme-Order zu laden. Die standard Templates von WooCommerce werden somit überschrieben, ohne das sie hardcoded im WooCommerce plugin selbst angepasst werden müssen.

Wie kann ich WooCommerce Template aus dem Plugin laden?

Mit Hilfe des Filters wc_get_template können wir das Laden benutzerdefinierter WooCommerce Templates beeinflussen und somit über unser Plugin, eigene Templates definieren. Füge dazu den folgenden Code-Schnipsel innerhalb deiner Plugin-Datei ein und ändere, den Pfad zu einem Ordner, indem deine benutzerdefinierten WooCommerce Templates zu finden sind.

Beachte: Dieser Filter ist so aufgebaut, dass vorhandene WooCommerce Templates aus dem aktiven Theme oder Child-Theme bevorzugt geladen werden. Sollte in Theme also eigene benutzerdefinierte WooCommerce Templates besitzen, werden diese immer bevorzugt gegenüber dem Plugin geladen. Wenn du dies verhindern möchtest, solltest du folgenden Bestandteil aus der Funktion entfernen.

woocommerce.php Template vom Plugin laden

WooCommerce bietet eine weitere Möglichkeit, Templates anzupassen. Das Hinzufügen einer „woocommerce.php“ Datei in ../wp-content/themes/dein-theme/woocommerce.php ist der einfachste Weg, Anpassungen in WooCommerce Templates vorzunehmen. Dieses Template hat zugleich Auswirkung auf alle WooCommerce Taxonomie-Seiten, die Shop-Seite sowie auf Produktseiten. Mehr darüber könnt ihr in der WooCommerce Dokumentation lesen.

Aber wie lässt sich das „woocommerce.php“ Template stattdessen von einem Plugin aus einbinden? Der folgende Code-Schnipsel ist dafür sehr hilfreich:

Ähnlich wie in der ersten Methode, benutzerdefinierte WooCommerce Templates vom Plugin zu laden, sucht auch diese Funktion zunächst nach einem bereits existierenden „woocommerce.php“ Template im aktivierten Theme. Ist dieses Template nicht vorhanden, so wird das Template vom Plugin verwendet. Natürlich könnt ihr diese Vorgehensweise nach Belieben abändern.