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 a categoria café eu quero ter um modelo de single-product.php diferente, como implementar isso? Não tenho acesso a este post http://www.woothemes.com/support-forum/?viewtopic=83667, mas ele tem uma pergunta semelhante, com páginas e categorias no WordPress simples, mas como fazê-lo no woocommerce?

Anatoliy
fonte

Respostas:

5

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

Alberto
fonte
Esta é a resposta, mesmo que não seja aceita.
61118 Allen Gingrich
4

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

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

Então, no seu single-product.php, você poderia adicionar um condicional simples para redirecionar para o single-product- something .php apropriado

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
fonte
3

Fiz um redirecionamento no single-product.php usando o ID do produto.

Em seguida, criou diferentes modelos de produtos na pasta substituída woocommerce (../your-theme/woocommerce/), como single-product-product1.php e o padrão (single-product-default.php, que simplesmente era uma 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' );
}
Quarto Gecko
fonte
Tinha que fazer login e dar um voto para isso! Obrigado, me salvou!
Tiago
1

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 com o nome do produto categoria. Agora você pode substituir o modelo de conteúdo único produto 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);
benedict_w
fonte