Woocommerceの”shop”は、”page-shop.php” のテンプレートは受け付けてくれない

2021年5月28日

Woocommerceを専用ではないテーマで使用するとき、そのトップになるページをすべての商品の一覧ではなく
テンプレートを挿し込んで、異なる見た目のページにしたいときですが、管理画面の固定ページにショップ(shop)というものができているので
page-shop.php を挿し込めばよいのかと思うと、これが使えないんですよね。
スラッグとは無関係に、見えているのは archive-product.php というテンプレートで表示されています。

これを可能にするのは、archive-product.php の先頭で

<?php
if (is_shop()) {
get_template_part( 'content', 'shop' );
} else {

get_header( 'shop' );

(archive-product.php の通常のコード)

};?>

と変えることで、content-shop.php をトップになるページのテンプレートとして使えるようになります。

ページトップへ