カラーミーのWordPressプラグインでSOLD OUT表示する
カラーミーショップの機能「どこでもカラーミー」は、カラーミーの管理画面の設定で、在庫管理するで在庫数0の場合にカートボタンが非表示になります。
カラーミーショップ公式のWordPressプラグインもカートボタン周りはどこでもカラーミーを使っていますので、同様に在庫なしの場合は非表示になります。
結構これが不便で、SOLD OUT表示したいことがあります。
在庫なしの場合にSOLD OUT表示する
まず、ショートコード[colormeshop_product data="stocks"]で在庫数を取ってきて、条件文を入れて、0ならば SOLD OUT を表示するようにします。
「在庫管理しない」場合は、数字ではなく空を返しますので、SOLD OUT表示はしません。
固定ページ(ここの例だと、https://naeco.jp/cswpp)内でPHPコードを書ければいいのですが、投稿画面のエディタではPHPを記述できませんので、ショートコードの形で結果を表示することにします。
作った関数はfunctions.php内に置きます。関数名とショートコード名は任意ですが、他とダブらないよう。
functions.php
/* 在庫なしでSOLD OUT表示 ショートコード*/
function short_cswpp_soldout() {
$pid = ( isset( $_GET['colorme_item'] ) && $_GET['colorme_item'] != '' && is_numeric( $_GET['colorme_item'] ) ) ? $_GET["colorme_item"] : '';
$str = "";
if ( is_page('cswpp') && $pid != '' ) {
$stock = do_shortcode( '[colormeshop_product data="stocks"]' );
if ( $stock === '0' ) {//文字型
$str = "SOLD OUT";
}
}
return $str;
}
add_shortcode('cswpp_soldout', 'short_cswpp_soldout');
ショートコード[colormeshop_cart_button]の直後に、上で作ったショートコード[cswpp_soldout]を呼び出せばOKです。
固定ページ
[colormeshop_cart_button][cswpp_soldout]
表示結果
在庫なしの商品でカートボタンが非表示になったときに、SOLD OUT表示するようになりました。
執筆者
えいじ@naeco.jp この記事を書いた人
メーカー系情報システム部門出身の個人事業主。
自作するのが好きですぐに試したくなる、凝り性なWebエンジニア。
カラーミーショップ、モールなどのECについて記事にしています。
ご相談・お問い合わせはこちら
自作するのが好きですぐに試したくなる、凝り性なWebエンジニア。
カラーミーショップ、モールなどのECについて記事にしています。
ご相談・お問い合わせはこちら