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?
Créez le nouveau modèle et nommez-le: taxonomy-product_cat-Your_category_product_slug.php aussi simple que cela
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 );
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' );
}
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);