領収書などのラベル表記の変更について

2014 年 9 月 23 日

ホーム フォーラム その他 領収書などのラベル表記の変更について

このトピックには8件の返信が含まれ、2人の参加者がいます。3 年、 1 ヶ月前 fieldworks さんが最後の更新を行いました。

9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #72076

    fieldworks
    参加者

    ——————————————-
    WordPress のバージョン:4.0
    Welcart のバージョン:1.4.8
    ご利用のテーマ:Matheson
    症状を確認したブラウザ:Google Chrome
    サーバー(会社名、サービス名):ロリポップ
    SSLの利用: あり
    WordPress のパーマリンク設定:
    ——————————————–

    請求書(または見積書など)に表記される「キャンペーン割引」を「割引」または「値引き」という表現に変えたいのですが、どこをどのように書き換えれば良いのかわかりません。
    どなたか、お知恵を拝借できないでしょうか?
    ちなみに、カートページに表記される「キャンペーン割引」の表記については、ネットにカスタマイズ方法がアップされていたのでそれを参考に修正済みです。

    #72102

    yskysmr
    キーマスター

    こんにちは。

    usces_confirm_discount_label というフィルターフックをご利用ください。

    #72141

    fieldworks
    参加者

    ご連絡ありがとうございます。
    [usces_confirm_discount_label]でWEB上のラベルの変更はできたのですが、プリントアウトする領収書や見積書のラベルの変更は、どこをカスタマイズすれば良いのでしょうか?

    #72144

    yskysmr
    キーマスター

    失礼しました。usces_filter_disnount_labelというフィルターフックをご利用ください。

    #72170

    fieldworks
    参加者

    welcartを利用している方のブログを参考にfunction.phpに下記を追加することでweb上の表記を変更することはできました。

    /***********************************************************
    * 「キャンペーン割引」を「会員優待割引」に書き換え
    ***********************************************************/
    add_filter(‘usces_confirm_discount_label’, ‘special_member_confirm_discount_label’, 10, 1);
    function special_member_confirm_discount_label(){
    global $usces;
    $entry = $usces->cart->get_entry();
    $total_items_price = $usces->get_total_price();
    $member_status = array( ‘優良会員’, ‘VIP会員’);
    if( usces_is_login() && in_array(usces_the_member_status(‘return’), $member_status) ){
    $text = “会員優待割引”;
    } else {
    $text = __(‘Campaign disnount’, ‘usces’);
    }
    return $text;
    }

    これを元に「usces_filter_disnount_label」で書き換えれば良いのかと思ったのですが、そういうことではなさそうで・・・。
    phpのプログラミングは初心者も同然なので、具体的にアドバイスいただけると助かります。
    ちなみに、書き換えた内容は次のとおりです。

    /***********************************************************
    * 領収書等「キャンペーン割引」を「会員優待割引」に書き換え
    ***********************************************************/
    add_filter(‘usces_filter_discount_label’, ‘special_member_discount_label’, 10, 1);
    function special_member_discount_label(){
    global $usces;
    $entry = $usces->cart->get_entry();
    $total_items_price = $usces->get_total_price();
    $member_status = array( ‘優良会員’, ‘VIP会員’);
    if( usces_is_login() && in_array(usces_the_member_status(‘return’), $member_status) ){
    $text = “会員優待割引”;
    } else {
    $text = __(‘Campaign disnount’, ‘usces’);
    }
    return $text;
    }

    #72192

    yskysmr
    キーマスター

    まずフィルターフック名ですが、こちらのスペルミスで usces_filter_disnount_label となっています。申し訳ありませんが合わせていただけますでしょうか。

    それから、領収書等を管理パネルから出力する際には、usces_the_member_status(‘return’) では会員IDのは取得できません。この関数はフロント側で使用するものです。
    ですがそれ以前に、usces_filter_disnount_label で会員ID が取得できませんでした。フィルターフックの第2引数に $data を追加いたしますので、フックの宣言のところで 10, 1 としているところを、10, 2 に変えて、第2引数 $data を取得してください。
    そして更に、会員ID より会員ランクを取得しなくてはいけません。

    コードは以下のようになるかと思います。
    Welcart を Development Version にアップデートしてから、お試しいただけますでしょうか。

    add_filter( 'usces_filter_disnount_label', 'special_member_discount_label', 10, 2 );
    function special_member_discount_label( $label, $data ) {
    	global $usces;
    	$member = $usces->get_member_info($data->customer['mem_id']);
    	$status_name = $usces->member_status[$member['mem_status']];
    	$member_status = array( '優良会員', 'VIP会員' );
    	if( in_array($status_name, $member_status) ) {
    		$text = "会員優待割引";
    	} else {
    		$text = __('Campaign disnount', 'usces');
    	}
    	return $text;
    }
    
    #72196

    fieldworks
    参加者

    回答ありがとうございました!
    さっそくDevelopment Version にアップグレードして・・・と思いましたが、アップグレード手順を読んでいて、ちょっと不安になりました。
    既に3000点もの商品登録をしているのですが、Development Versionに「アップグレードすることで全て一からやり直しということになるのでしょうか?

    #72199

    yskysmr
    キーマスター

    Welcart は、通常のアップデートでも、Development Version へのアップデートでも、データベースのデータを削除することはありません。プラグインを停止しても、また有効化すれば全てのデータが見れるようになります。

    #72204

    fieldworks
    参加者

    了解しました!さっそく試してみます!

9件の投稿を表示中 - 1 - 9件目 (全9件中)

このトピックに返信するにはログインが必要です。