Mẫu khác nhau của các sản phẩm cho thể loại cụ thể. Thương mại điện tử


8

Ví dụ tôi có loại máy pha cà phê và một mẫu cho mẫu sản phẩm máy pha cà phê, nhưng đối với loại cà phê tôi muốn có mẫu sản phẩm đơn khác nhau, làm thế nào để thực hiện điều này? Tôi không truy cập vào bài đăng này http://www.wootheme.com/support-forum/?viewtopic=83667 nhưng nó có câu hỏi tương tự, với các trang và danh mục trong WordPress thì đơn giản, nhưng làm thế nào để làm điều đó trong thương mại điện tử?

Câu trả lời:


5

Tạo mẫu mới và đặt tên cho nó: taxonomy-product_cat-Your_carget_product_slug.php đơn giản như thế này


Đây là câu trả lời, mặc dù nó không được chấp nhận.
Allen Gingrich

4

Bạn có thể thay đổi một sản phẩm.php của mình thành một chuyển hướng đến đúng mẫu tùy thuộc vào loại sản phẩm hiện tại của sản phẩm đó.

Để làm như vậy, bạn sẽ sao chép một sản phẩm.php vào thư mục thương mại điện tử của chủ đề. Đổi tên nó thành một sản phẩm-default.php hoặc bất cứ thứ gì. Tạo một bản sao khác và gọi nó là một sản phẩm-coffee.php. Bạn có thể thực hiện bất kỳ thay đổi nào bạn muốn thực hiện cho điều này.

Sau đó, trong một sản phẩm duy nhất của bạn, bạn có thể thêm một điều kiện đơn giản để chuyển hướng đến một sản phẩm phù hợp - một cái gì đó .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 );

3

Tôi đã thực hiện chuyển hướng trong một sản phẩm.php bằng cách sử dụng ID sản phẩm.

Sau đó, đã tạo các mẫu sản phẩm khác nhau trong thư mục thương mại điện tử được ghi đè (../your-theme/wooc Commerce /), chẳng hạn như một sản phẩm-sản phẩm1.php và một mặc định (một sản phẩm-default.php, đơn giản là một bản sao của sản phẩm đơn trước đó).

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

Phải đăng nhập và bỏ phiếu cho điều này! Cảm ơn, đã cứu tôi!
Tiago

1

Tôi đã thực hiện điều này (Wooc Commerce 2.1) bằng cách tạo mẫu cho sản phẩm trong các mẫu thương mại điện tử của chủ đề của tôi có tên 'content-single-sản phẩm - {$ sản phẩm_cat} .php' và thêm bộ lọc 'wc_get_template_part' để tìm kiếm các mẫu được đặt tên theo sản phẩm thể loại. Bây giờ bạn có thể ghi đè lên mẫu nội dung một sản phẩm theo danh mục sản phẩm:

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);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.