私は標準のwoocommerceテーマをカスタマイズしようとしていますが、これまでのところうまく機能しています。すべてのテンプレートファイルを_/plugins/woocommerce/templates
_から_/mytheme/woocommerce
_にコピーし、ファイルをカスタマイズしました。
しかし、_archive-product.php
_で何かを変更しても、何も起こりませんか?コアファイル(_/plugins/woocommerce/templates/archive-product.php
_)でこれをカスタマイズしようとしましたが、機能しません。
_h1
_見出しのクラスを変更したい:<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
。
だから私はallwoocommerceテンプレートファイルを調べました、クラス_page-title
_はこの1つのファイルでのみ発生します(間違ったファイルの編集を防ぐため)。
編集:
詳細には、このパスで使用されるテーマをカスタマイズしたいと思います: http://example.com/product-category/mycategory
これはまだWoocommerceの問題のようです。ここに着陸した人にとっては、バージョン2.1.6の時点で次のソリューションが機能していました。
どうやら問題は、関数woocommerce_content()がアーカイブコンテンツに対して間違ったページを出力することによるものです。
私はそれを回避するために以下を使用しました:
woocommerce.phpのwoocommerce_content()を次のように置き換えます。
if ( is_singular( 'product' ) ) {
woocommerce_content();
}else{
//For ANY product archive.
//Product taxonomy, product search or /shop landing
woocommerce_get_template( 'archive-product.php' );
}
クレジット:解決策が見つかりました ここ
私は上記のすべての解決策を試しましたが、役に立ちませんでした。私が何をしたとしても、archive-product.phpはまったく使用されていませんでした。代わりに、ほとんどのwoocommerceページは私のテーマのpage.phpを使用していました。
私にとっての解決策は、テーマのサポートを追加することでした... woocommerceを使用してからしばらく経ちましたので、それを完全に忘れていました。しかし、functions.phpファイルに次の行を追加した後、archive-product.phpが使用され(/mytheme/woocommerce/archive-product.php)、更新できるようになりました。
add_theme_support('woocommerce');
これが私が私の修正した方法です:
Woocommerce.phpメソッドを使用する場合、archive-productをカスタマイズすることはできません。フック方式を使用する必要があります
http://docs.woothemes.com/document/third-party-custom-theme-compatibility/ 注意:テーマのフォルダーにwoocommerce.phpを作成する場合、オーバーライドすることはできません。 woocommerce.phpはarchive-product.phpよりも優先されるため、woocommerce /archive-product.phpカスタムテンプレート。これは、表示の問題を防ぐことを目的としています。
ファイル「taxonomy-product_cat.php」を編集して、条件付きis_product_category( 'mycategory')を追加する必要があります。
「taxonomy-product_cat.php」を開き、wc_get_template( 'archive-product.php' );
を次のようにラップします。
if (is_product_category( 'mycategory' )){
wc_get_template( 'archive-mycategory.php' );
} else {wc_get_template( 'archive-product.php'); }