Hallo zusammen, ich verstehe, dass meine Frage sehr eng mit einer allgemeinen Frage zu 'woocommerce' zusammenhängt.
Ich habe eine Vielzahl von Woo-Hooks, Filtern und Kopien von Original-Woo-Vorlagendateien in meinem untergeordneten Thema in einem Ordner namens woocommerce/erstellt.
Dies funktioniert und ich kann die Änderungen vornehmen, die Woocommerce in mein Thema integrieren.
Woocommerce verwendet archive-product.php, um Produktkategorien anzuzeigen. Diese Vorlage wird auch zum Anzeigen der Produkte der Kategorie verwendet.
Ich möchte die Produktseite ganz anders als die Kategorieseite gestalten und eine weitere Archivvorlage erstellen, die die Produkte einer Kategorie anzeigt
Ich denke, dass die Verwendung einer neuen products-product.php-Vorlagenseite oder meine beste Option wäre. Ich bin sehr daran interessiert, mehr und mehr über das Plug-in zu lernen, daher versuche ich, mich von schnellen CSS-Korrekturen fernzuhalten und zu lernen, wie man die Vorlagendateien und Hooks verwendet.
Ratschläge oder Hinweise in die richtige Richtung wäre sehr dankbar.
Im Allgemeinen können Sie WordPress anweisen, eine andere Vorlage zu laden. Die meistgesehenen Ansätze verwenden entweder den template_redirect
oder den template_include
hook. Es ist vorzuziehen, template_include
zu verwenden, wie in diesem Artikel beschrieben. Nachfolgend ein Beispiel, wie man das angeht:
Code:
// load the woocommerce category archive template
add_filter( 'template_include', 'wpse138858_woocommerce_category_archive_template' );
function wpse138858_woocommerce_category_archive_template( $original_template ) {
// we're loading the template conditionally,
// but only if we're actually on a woocommerce category archive
if ( is_product_category() ) {
// you've to create the template you want to use here first
return get_template_directory().'/woocommerce-category-archive.php';
} else {
return $original_template;
}
}
Zusätzliche Information:
Anmerkungen:
Bearbeiten:
Was Sie suchen - wenn Sie es wie im Woocommerce machen wollen - ist die Funktion wc_get_template_part()
- früher vor WC 2.1, woocommerce_get_template_part()
, jetzt veraltet. Ich habe vor einiger Zeit eine Antwort gegeben, wie man die letztere verwendet. Sie können dies für die neu benannte Funktion tun - die Funktionalität ist dieselbe - Funktion entsprechend. Die Antwort bezieht sich natürlich auf die direkte Verwendung der Funktion, in Ihrem Fall möchten und sollten Sie wahrscheinlich den entsprechenden Hook wc_get_template_part
verwenden. Mit diesen Informationen sollten Sie in der Lage sein, dies im Woocommerce zu tun.