Различный шаблон товаров для конкретной категории. WooCommerce

8

Например, у меня есть кофемашины категории, и один шаблон для кофемашины, один шаблон продукта, но для категории кофе я хочу иметь другой шаблон single-product.php, как это реализовать? у меня нет доступа к этому сообщению http://www.woothemes.com/support-forum/?viewtopic=83667, но у меня есть похожий вопрос, со страницами и категориями в WordPress это просто, но как это сделать в woocommerce?

Анатолий
источник

Ответы:

5

Создайте новый шаблон и назовите его таксономически: product_cat-Your_category_product_slug.php.

альберто
источник
Это ответ, хотя он не принят.
Аллен Гингрич
4

Вы можете изменить файл single-product.php так, чтобы он просто перенаправлял на правильный шаблон в зависимости от того, к какой категории продуктов относится текущий продукт.

Для этого вам нужно скопировать файл single-product.php в папку woocommerce вашей темы. Переименуйте его в single-product-default.php или что-нибудь еще. Создайте еще одну копию и назовите ее single-product-coffee.php. Вы можете внести любые изменения, которые вы хотели бы внести в этот.

Затем в одном-product.php можно добавить простое условное перенаправление на соответствующий одного продукт- что - то .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
источник
3

Я сделал перенаправление в single-product.php, используя идентификатор продукта.

Затем создали различные шаблоны продуктов в переопределенной папке woocommerce (../your-theme/woocommerce/), например, single-product-product1.php и файл по умолчанию (single-product-default.php, который просто был копией предыдущий сингл product.php).

if($post->ID == '103'){
wc_get_template_part( 'single-product-product1' ); 
} else{
wc_get_template_part( 'single-product-default' );
}
Комната Геккона
источник
Пришлось войти и проголосовать за это! Спасибо, спас меня!
Тьягу
1

Я сделал это (Woocommerce 2.1), создав шаблон для продукта в шаблонах woocommerce моей темы под названием «content-single-product - {$ product_cat} .php» и добавив фильтр «wc_get_template_part», который ищет шаблоны, названные в честь продукта категория. Теперь вы можете переопределить шаблон content-single-product по категории продукта:

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
источник