[Welcart]商品のメイン画像が設定されているかどうかの条件分岐。

[Welcart]商品のメイン画像が設定されているかどうかの条件分岐。

2017年10月28日 /最終更新:2017年10月28日

Welcartで商品のメイン画像が設定されているかどうかの条件分岐の方法です。さらに、画像が設定されていない場合は代替画像を表示させます。

[Welcart]商品のメイン画像が設定されているかどうかの条件分岐。

Welcartを使ったECサイトの構築をどんどん進めていますが、商品画像を設定しているかどうかで条件分岐を行い、設定されていない場合は代替画像を表示させる必要がありました。そこでfunctions.phpに条件分岐文を記述し、色々な場所で使いまわしができるようにしておきます。

まず以下をfunctions.phpに追記します。

functions.php

<?php
  $thumbImg = usces_the_itemImageURL(0, $out = 'return');
?>

次にwc_item_single.phpなどのテーマファイルに先ほど設定した「$thumbImg」の記述を使って画像を表示させたい位置に、以下の条件分岐文と画像の出力を記述します。

wc_item_single.php(…etc)

<?php
  if( $thumbImg ) {//商品画像が設定されている場合は画像を表示
    $Thumb_img = usces_the_itemImageURL(0,'return');
  } else {//商品画像が設定されていない場合は代替画像を表示
    $Thumb_img = get_stylesheet_directory_uri() . '/noimage.jpg';
  }
  echo '<img src="' . $Thumb_img . '" alt="' . get_the_title() .'" />' . "\n";
?>

これで商品画像が設定できない時でも代替画像を表示してくれます。

参考:PHP – WordPress Welcartでメイン画像が存在するか調べる条件分岐文の書き方(37473)|teratail