Welcartを利用してECサイトを構築していて、
商品画像があるかないかで条件分岐する必要がある部分がでてきたのですが、
公式サイトのリファレンスを見ても書いてなかったので、自分で調べてみました。
結果
先に結果を書くと、下記のような記述で条件分岐が可能です。
1 2 3 4 5 |
if ( usces_the_itemImageURL( 0, 'return' ) ){ //画像があった時の処理 } else { //画像がなかった時の処理 } |
説明
プラグインフォルダ内の、
usc-e-shop > functions > template_func.php
を調べた所、
画像URLを表示するテンプレートタグ「usces_the_itemImageURL」の記述があり、
リファレンスには載っていない引数を発見しました。
1 2 3 4 5 6 7 8 9 10 |
function usces_the_itemImageURL($number = 0, $out = '', $post = '' ) { 〜省略〜 if($out == 'return'){ return $html; }else{ echo $html; } } |
usces_the_itemImageURLは、直ちにechoしてしまうタイプのテンプレートタグですが、
第2引数に’return’という文字数を渡せば、echoせずに結果を返してくれるという事がわかりました。
ちなみに第1引数は画像IDで、0がメイン画像、1〜がサブ画像との事です。
https://www.welcart.com/documents/archives/673
Welcartのプラグインのファイルを調べてみると、しっかり要所要所にフィルターフックが設置されていたりして、
大変ありがたい作りになっておりました。とても素晴らしいです。
ただ、Advanced Custom Fieldsに対応してないのが辛いのと、
できればWelcartの商品登録はWelcart用のカスタム投稿になっていればなという個人的な想いが無い事も無いです。