カラーミーのWordPressプラグインでSOLD OUT表示する

カラーミーWPプラグイン・アイキャッチ

カラーミーショップの機能「どこでもカラーミー」は、カラーミーの管理画面の設定で、在庫管理する在庫数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について記事にしています。

ご相談・お問い合わせはこちら