web-dev-qa-db-fra.com

Modèle différent de produits pour une catégorie spécifique. WooCommerce

Par exemple, j'ai des machines à café de catégorie et un modèle pour un modèle de produit unique pour une machine à café, mais pour un café de catégorie, je veux avoir un modèle différent pour single-product.php, comment le mettre en œuvre? Je n'ai pas accès à ce message http://www.woothemes.com/support-forum/?viewtopic=83667 mais la question est similaire, avec des pages et des catégories dans WordPress simples, mais comment le faire dans woocommerce?

8
Anatoliy

Créez le nouveau modèle et nommez-le: taxonomy-product_cat-Your_category_product_slug.php aussi simple que cela

5
alberto

Vous pouvez changer votre single-product.php pour qu'il ne soit qu'une redirection vers le bon modèle en fonction de la catégorie de produit le produit actuel.

Pour ce faire, copiez single-product.php dans le dossier woocommerce de votre thème. Renommez-le en single-product-default.php ou n'importe quoi. Créez une autre copie et appelez-la single-product-coffee.php. Vous pouvez apporter les modifications que vous souhaitez apporter à celui-ci.

Ensuite, dans votre single-product.php, vous pouvez ajouter une simple condition pour rediriger vers le seul produit - quelque chose .

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 );
3
helgatheviking

J'ai fait une redirection dans single-product.php en utilisant l'ID de produit.

Créez ensuite différents modèles de produit dans le dossier woocommerce remplacé (../your-theme/woocommerce/), tels que single-product-product1.php et celui par défaut (single-product-default.php, qui était simplement une copie du fichier). précédent single-product.php).

if($post->ID == '103'){
wc_get_template_part( 'single-product-product1' ); 
} else{
wc_get_template_part( 'single-product-default' );
}
2
Gecko Room

C'est ce que j'ai fait (Woocommerce 2.1) en créant un modèle pour le produit dans les modèles de commerce en commerce de mon thème nommé 'content-single-product - {$ product_cat} .php' et en ajoutant un filtre 'wc_get_template_part' qui recherche les modèles portant le nom du produit. Catégorie. Vous pouvez maintenant remplacer le modèle de contenu unique par produit par catégorie de produit:

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);
0
benedict_w