Unterschiedliche Produktvorlage für bestimmte Kategorie. WooCommerce

8

Zum Beispiel habe ich Kategorie Kaffeemaschinen und eine Vorlage für Kaffeemaschine einzelne Produktvorlage, aber für Kategorie Kaffee möchte ich andere single-product.php Vorlage haben, wie dies zu implementieren? Ich habe keinen Zugriff auf diesen Beitrag http://www.woothemes.com/support-forum/?viewtopic=83667, aber es gibt ähnliche Fragen, mit Seiten und Kategorien in WordPress ist es einfach, aber wie geht das im Woocommerce?

Anatoliy
quelle

Antworten:

5

Machen Sie die neue Vorlage und nennen Sie sie so einfach: taxonomy-product_cat-Your_category_product_slug.php

alberto
quelle
Dies ist die Antwort, obwohl sie nicht akzeptiert wird.
Allen Gingrich
4

Sie können Ihre single-product.php so ändern, dass sie nur zur richtigen Vorlage umleitet, je nachdem, welche Produktkategorie das aktuelle Produkt ist.

Dazu kopieren Sie die Datei single-product.php in den Woocommerce-Ordner Ihres Themas. Benennen Sie es in single-product-default.php oder etwas anderes um. Erstellen Sie eine weitere Kopie und nennen Sie sie Single-Product-Coffee.php. Sie können alle Änderungen vornehmen, die Sie an dieser vornehmen möchten.

Dann könnten Sie in Ihrer single-product.php eine einfache Bedingung hinzufügen, um zum entsprechenden Einzelprodukt umzuleiten - etwas .php

if( has_term( 'coffee-maker', 'product_cat' ) ) {
    $file = 'single-product-coffee.php';
} else {
    $file = 'single-product-default.php';
}

global $woocommerce;

load_template( $woocommerce->template_url . $file );
Helgatheviking
quelle
3

Ich habe eine Umleitung in single-product.php unter Verwendung der Produkt-ID vorgenommen.

Anschließend wurden im überschriebenen Woocommerce-Ordner (../your-theme/woocommerce/) verschiedene Produktvorlagen erstellt, z. B. single-product-product1.php und die Standardvorlage (single-product-default.php, bei der es sich lediglich um eine Kopie von handelt vorherige single-product.php).

if($post->ID == '103'){
wc_get_template_part( 'single-product-product1' ); 
} else{
wc_get_template_part( 'single-product-default' );
}
Gecko-Raum
quelle
Musste mich einloggen und abstimmen! Danke, hat mich gerettet!
Tiago
1

Ich habe dies getan (Woocommerce 2.1), indem ich eine Vorlage für das Produkt in den Woocommerce-Vorlagen meines Themas mit dem Namen "content-single-product - {$ product_cat} .php" erstellt und einen Filter "wc_get_template_part" hinzugefügt habe, der nach Vorlagen sucht, die nach dem Produkt benannt sind Kategorie. Jetzt können Sie die Inhalts-Einzelproduktvorlage nach Produktkategorie überschreiben:

function my_custom_product_template($template, $slug, $name) {
    if ($name === 'single-product' && $slug === 'content') {
        global $product_cat;
        $temp = locate_template(array("{$slug}-{$name}-{$product_cat}.php", WC()->template_path() . "{$slug}-{$name}-{$product_cat}.php"));
        if($temp) {
           $template = $temp;
        }
    }
    return $template;
}

add_filter('wc_get_template_part', 'my_custom_product_template', 10, 3);
benedict_w
quelle