カラーミーの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 この記事を書いた人

メーカー系情報システム部門出身で、第一種情報処理技術者
カラーミー歴10年目/カラーミーショップ公認パートナー。
好きが高じてブログを書いていますが、カラーミーの中の人ではありません。