Welcartのカスタマイズで試行錯誤を繰り返した結果、判った関数の使い方や環境の取得方法をここで解説します。
順番は下記になります。
1.ループ外でも利用できる関数
1-1.Welcartの基本設定情報
項目 | 取得方法 | 備考 |
会員制フラグ | usces_is_membersystem_state() | true 会員制オン、false オフ |
ポイント制フラグ | usces_is_membersystem_point() | true ポイント制オン、false オフ |
初期付与ポイント | usces_the_start_point() | 会員入会したときのサービスポイント |
初期ポイント率 | usces_point_rate() | 基本設定で設定したポイントレートを取得します |
1-2.ユーザ管理
項目 | 関数 | 備考 |
ログイン状態 | usces_is_login() | true:ログイン中、false:ログオフ中 |
会員名 | usces_the_member_name() | ログオフ中、「ゲスト」 を表示 ログイン中、「会員名」を表示 |
ログイン/ログアウト | usces_loginout() | ログオフ中、ログインのリンクを表示 ログイン中、ログアウトのリンクを表示 |
マイページ | USCES_MEMBER_URL | マイページのURLを返す |
会員登録 | USCES_NEWMEMBER_URL | 新規会員登録URLを返す |
所有ポイント | usces_the_member_point() | 所有ポイント数を取得する |
1-3.カート機能
項目 | 関数 | 説明 |
判断関数 | welcart_basic_is_cart_page() | カートページの場合はtrue、以外はfalse |
カートページURL | USCES_CART_URL | カートページのURIを返す |
カート内の合計数量 | usces_totalquantity_in_cart() | カート内の合計数量を返す |
カート内の合計金額 | usces_totalprice_in_cart() | カート内の合計金額を返す |
2.have_posts()ループの中で利用できる関数
2-1.基本形
Welcartのhave_posts()ループの基本形は下記になります。
<?php while(have_posts()) : the_post(); ?> <?php usces_remove_filter(); ?> <?php usces_the_item(); ?> 各種関数を使って情報を取得して表示をする <?php endwhile; ?>
■「usces_remove_filter()」はフィルターのリセット
■「usces_the_item()」はループ内でSKU情報や商品オプション情報をセット
2-2.have_posts()ループの中で利用できる関数
項目 | 関数 | 説明 |
商品名 | usces_the_itemName() | 商品名を表示します |
商品コード | usces_the_itemCode() | 商品コードを表示します |
ポイント | usces_the_point_rate(‘return’) | 商品に設定されたポイント率を返します |
ポイント | usces_point_rate(‘return’) | ポイントの初期値を返します |
売価 | usces_the_firstPrice(‘return’) | 先頭のSKUの売価を返します。 |
usces_the_firstPriceCr | 先頭のSKUの通貨記号付きの売価を取得・表示します | |
売価の表示形式 | usces_crform(’金額’, true, false ) | usces_crform(’1,000’, true, false)は¥1,000 usces_crform(’1,000’, false,true)は1,000円 |
税金種別 | usces_guid_tax() | 「税込」か「税別」かを表示します |
在庫チェック | usces_have_zaiko_anyone() | 総てのSKUの在庫をチェックして無ければtrueを返す |
商品画像 | usces_the_itemImage(n,w,h) | n:画像のID。0がメイン画像、w:width、h :height |
キャンペーン | welcart_basic_campaign_message() | キャンペーンメッセージを表示します。 但し、このルーチンにはポイント制フラグのチェックが抜けている |
カスタムフィールド | usces_get_item_custom($post->ID) | 製品登録画面のカスタムフィールドに登録した情報を表示します |
3.SKUループの中で利用できる関数
3-1.基本形
SKUの基本ループは下記になります。
<?php while(usces_have_skus()):?> 各種関数を使ってSKU情報を取得して表示をする <?php endwhile; ?>
3-2.SKUループの中で利用できる関数
項目 | 関数 | 説明 |
SKU名称 | usces_the_itemSkuDisp() | SKU名称を表示します |
SKUコード | usces_the_itemSku(‘return’) | SKUコードを取得します。 SKUコードに日本語が含まれる場合は urlencode(usces_the_itemSku(‘return’)) を利用します |
在庫 | usces_the_itemZaikoStatus(‘return’) | 在庫ステータスを返します 在庫あり、在庫僅少、売切れ、入荷待ち、廃盤のいづれか |
usces_the_itemZaiko() | 上記と同様 | |
usces_have_zaiko() | 在庫あり(true)、なし(false)のフラグ取得を取得します | |
usces_the_itemZaikoNum(‘return’) | 在庫数を取得します | |
定価 | usces_the_itemCprice(‘return’) | 定価を取得します |
usces_the_itemCpriceCr() | 定価を¥で表示します | |
売価 | usces_the_itemPrice(‘return’) | 売価を取得します |
usces_the_itemPriceCr() | 売価を¥で表示します | |
購入数制限 | getItemRestriction($post->ID) | 購入数制限値を取得します |
usces_is_gptekiyo( $post_id, $sku, $quant) | $quantを100等の大きな数字にすると購入制限対象か否かを判断できます | |
業務パック割引 | usces_is_gptekiyo( $post_id, $sku, $quant) | $quantを100等の大きな数字にすると対象か否かが判断できる |
usces_the_itemGpExp() | 購入数量に応じた割引率で売価を表示します | |
キャンペーン | welcart_basic_campaign_message() | キャンペーンメッセージを表示します 但しこのプログラムにはポイント制フラグのチェックが抜けています |
オプション | usces_have_options() | オプションがあるか否かの判断関数 |
usces_the_itemOptName() | オプション名を取得します | |
usces_the_itemOption(オプション名) | オプションの内容を表示します |
■オプション情報の表示サンプル
<?php while(usces_have_options()): ?> <!--オプション情報表示--> <div id='option_data'> <span> <?php usces_the_itemOptName(); ?></span> <?php usces_the_itemOption(usces_getItemOptName(), '' ); ?> </div> <?php endwhile; ?>
4.welcartで既に使用されているID
Welcartはクラス指定に加えてIDも利用している為、このIDと競合しない様にIDを作成する必要があります。
#content
#customer-info
#escott
#img-box
#info-confirm
#itempage
#mailaddress1
#mailaddress2
#main
#memberinfo
#memberpages
#nav
#remise
#respond
#searchbox
#searchsubmit
#secondary
#site-navigation
#toTop
#usces-cart
#welcart
#zeus
#zipcode