こんにちは、私は私の質問が「ウーコマース」についてのよくある質問と非常に密接に関連していることを理解しています。
私はさまざまなWooフック、フィルターを使って、そして私の子供のテーマの中でオリジナルのWooテンプレートファイルのコピーをwoocommerce /というフォルダーに作成してきました。
これはうまくいっていて、私はwoocommerceを私のテーマに統合する編集をすることができます。
Woocommerceはarchive-product.phpを使って商品カテゴリを表示します。また、このテンプレートを使用してカテゴリの商品を表示します。
商品ページをカテゴリページとは非常に異なるスタイルにして、カテゴリの商品を表示する別のアーカイブテンプレートを作成したい
私は新しいproducts-product.phpテンプレートページを使用するか、それとも私の最善の選択肢になると考えています。私はプラグインについてもっと学ぶことに非常に興味があるので、私は素早いCSS修正から離れてテンプレートファイルとフックを使うことを学ぶことを試みています。
正しい方向へのアドバイスやポイントは大歓迎です。
通常、WordPressに別のテンプレートをロードするように指示できます。最もよく見られるアプローチでは、 template_redirect
または template_include
フックを使用します。この 記事 で説明されているようにtemplate_include
を使うことが好ましいです。これにどのように取り組むかについての例に従う:
コード:
// load the woocommerce category archive template
add_filter( 'template_include', 'wpse138858_woocommerce_category_archive_template' );
function wpse138858_woocommerce_category_archive_template( $original_template ) {
// we're loading the template conditionally,
// but only if we're actually on a woocommerce category archive
if ( is_product_category() ) {
// you've to create the template you want to use here first
return get_template_directory().'/woocommerce-category-archive.php';
} else {
return $original_template;
}
}
追加情報:
ノート:
編集:
あなたが探しているのは - もしあなたがそれをウーコマースのやり方でやりたいのであれば - 関数です wc_get_template_part()
- 以前はWC 2.1より前、 woocommerce_get_template_part()
、現在は非推奨です。私はしばらく前に後者を使う方法について 答え を与えました、あなたは新しく命名されたためにそれをすることができます - 機能は同じです - それに応じて機能は同じです。もちろん答えは関数の直接の使用に関係します、あなたの場合あなたはおそらくあなたが望んでいてそして通信員フック wc_get_template_part
を利用するべきです。この情報を手にして、あなたはこれをウーコマースのやり方でできるはずです。