特定のカテゴリの製品の異なるテンプレート。WooCommerce


8

たとえば、カテゴリのコーヒーマシンと、コーヒーマシンの単一の製品テンプレートの1つのテンプレートがありますが、カテゴリのコーヒーの場合は、異なるsingle-product.phpテンプレートが必要です。これを実装するにはどうすればよいですか?私はこの投稿にアクセスできませんhttp://www.woothemes.com/support-forum/?viewtopic=83667しかし、WordPressのページとカテゴリは単純ですが、woocommerceでそれを行う方法は似ていますか?

回答:


5

新しいテンプレートを作成して名前を付けます。taxonomy-product_cat-Your_category_product_slug.phpを次のようにシンプルにします


これは受け入れられませんが、答えです。
アレンギングリッチ

4

現在の製品のカテゴリーに応じて、single-product.phpを正しいテンプレートへのリダイレクトに変更できます。

そのためには、single-product.phpをテーマのwoocommerceフォルダーにコピーします。名前をsingle-product-default.phpなどに変更します。別のコピーを作成し、single-product-coffee.phpという名前を付けます。これに加えたい変更はすべて行うことができます。

次に、single-product.phpに単純な条件を追加して、適切なsingle-product- something .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

製品IDを使用して、single-product.phpでリダイレクトを行いました。

次に、オーバーライドされたwoocommerceフォルダー(../your-theme/woocommerce/)に、single-product-product1.phpやデフォルトの製品テンプレート(single-product-default.php、これは単に以前のsingle-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) 'content-single-product-{$ product_cat} .php'という名前のテーマのwoocommerceテンプレートに製品のテンプレートを作成し、製品にちなんで名付けられたテンプレートを検索する '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);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.