Modelo diferente de produtos para categoria específica. WooCommerce

8

Por exemplo, eu tenho máquinas de café de categoria e um modelo para modelo de produto único de máquina de café, mas para café de categoria eu quero ter modelo single-product.php diferente, como implementar isso?  Eu não tenho acesso a este post enlace mas tem questão semelhante, com páginas e categorias no WordPress simples, mas como fazer isso no woocommerce?

    
por Anatoliy 13.08.2012 / 14:26

4 respostas

5

Crie o novo modelo e nomeie-o: taxonomy-product_cat-Your_category_product_slug.php tão simples quanto isto

    
por alberto 24.08.2012 / 11:46
3

Você pode alterar seu single-product.php para ser apenas um redirecionamento para o modelo correto, dependendo de qual categoria de produto o produto atual.

Para fazer isso, você copia single-product.php para a pasta de woocommerce do seu tema. Renomeie para single-product-default.php ou qualquer outra coisa. Crie outra cópia e chame de single-product-coffee.php. Você pode fazer as alterações que quiser fazer nessa.

Em seguida, no seu single-product.php você pode adicionar uma condicional simples para redirecionar para o produto único apropriado algo .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 );
    
por helgatheviking 17.03.2013 / 21:05
2

Eu fiz um redirecionamento em single-product.php usando o ID do produto.

Em seguida, criamos modelos de produtos diferentes na pasta de woocommerce substituída (../your-theme/woocommerce/) como single-product-product1.php e a padrão (single-product-default.php, que simplesmente era um cópia do single-product.php anterior.

if($post->ID == '103'){
wc_get_template_part( 'single-product-product1' ); 
} else{
wc_get_template_part( 'single-product-default' );
}
    
por Gecko Room 05.07.2013 / 19:29
0

Eu fiz isso (Woocommerce 2.1) criando um modelo para o produto nos modelos de woocommerce do meu tema chamado 'content-single-product - {$ product_cat} .php' e adicionando um filtro 'wc_get_template_part' que procura por modelos nomeados após a categoria do produto. Agora você pode substituir o modelo de produto único de conteúdo por categoria de produto:

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);
    
por benedict_w 19.12.2014 / 13:00