また忘れた。。。
WooCommerceに限ったことではないけど、WordPressも含めて頻繁に使わない条件分岐タグをよく忘れる。
WordPressについてはCodex(日本語版)を見にいけば「あ、そうそう、コレコレ」というケースも多い。がしかし、WooCommerceは使い始めて日が浅いこともあって、WordPressほど利用シーンが少ないのでおぼえられない。
ということで、そのための備忘録。
WooCommerce Conditional Tags(条件分岐タグ)
とりあえずこのページを見ればわかります。
このなかでもよく使うと思われるもの
商品アーカイブページ、ショップのメインとして設定しているページ
商品カテゴリ、アーカイブページis_product_category( 'shirts' )
is_product_category( array( 'shirts', 'games' ) )
複数が該当する場合はarray
商品ページ
属するカテゴリーの場合
商品ページでカテゴリーごとに異なる情報を表示する場合に使える
カートページ
購入者情報入力/決済ページ
こんな単純なものを忘れるのもどうかしてるけど、忘れるんです。
使い方はWordPressと同じだけど、Snow Monkeyで使う場合は、上書きしたテンプレートもしくは、my-snow-monkey.php
に記述します。
例えば、特定の商品にだけ「モニター申込みボタン」を置く場合。しかも「お買い物かごに入れる」ボタンも非表示に。
「モニター申込みボタン」の設置だけでいい場合は、フックではなく、商品ページのエディターに書いたほうが早いです。これは1つの例です。
/**
* 特定商品の「カートに入れる」ボタンを非表示
*/
add_action(
'loop_start',
function () {
// 商品ページでidが15のもの
if( is_product() && get_the_id() == 15) {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}
}
);
/**
* 別ページへのリンクを設置
*/
add_action(
'woocommerce_single_product_summary',
function () {
if( is_product() && get_the_id() == 15 ) {
?>
<p class="custom_add_cart">
<a href="https://example.com/product-111/monitor/" target="_blank" rel="noopener noreferrer">モニターに申し込む</a>
</p>
<?php
}
},
40 // 表示場所
);
よくない例になってしまったけど、WooCommerceには特有の条件分岐タグがあるので、活用してみてください。
今日は短いですが、このへんで。