会員データ編集画面の対応状況に変更が反映されない

フォーラム 使い方全般 会員データ編集画面の対応状況に変更が反映されない

  • このトピックには6件の返信、2人の参加者があり、最後にpuriponにより5年、 8ヶ月前に更新されました。
7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #87088
    puripon
    参加者

    ——————————————-
    WordPress のバージョン:(5.0.3)
    Welcart のバージョン:(1.9.15)
    PHP のバージョン:(例 7.1)
    Welcart専用の拡張プラグイン:(DLSeller 3.0.7)
    ご利用のテーマ:(WelcartBasicの自作子テーマ)
    症状を確認したブラウザ:google chrome
    サーバー:(ロリポップ スタンダードプラン)
    SSLの利用:(常時SSL)
    ——————————————–

    お世話になります。

    フィルターフックusces_filter_management_statusを使い、対応状況の選択項目を一つ追加しました。

    ですが、Wordpress管理画面での
    会員データ編集画面の購入履歴における「対応状況」に、
    受注データ編集画面で行った変更が反映されません。

    member_edit_form.php内では、フックを使い後から追加した項目は、新規受付として処理されてしまう為だと思います。

    受注リスト画面への反映のためにusces_filter_orderlist_process_statusをご用意頂いたのと同様に、フックをご用意頂ければ解決できると思ったのですが如何でしょうか。

    ご対応頂ければ大変たすかります。
    よろしくお願い申し上げます。

    #87097
    yskysmr
    キーマスター

    こんにちは。

    仰るとおり、会員データ編集画面のステータス取得時にフィルターフックが入っていませんでした。次期バージョンにて修正いたします。

    #87099
    puripon
    参加者

    ありがとうございます。
    次期バージョンを待ちます。

    #87213
    puripon
    参加者

    Welcartのバージョンを1.9.16に上げました。
    私が希望したフックのご用意含め、ありがとうございます。

    フックを使ってみたところ、少しうまく動かない箇所があります。説明させてください。

    まず、下記をfunction.phpに追記しております。

    /* 対応状況に「返却済み」を追加 */
    add_filter('usces_filter_management_status','my_filter_management_status', 10, 1);
    function my_filter_management_status($management_status){
    	$management_status += array(
    		'returned' => '返却済み',
    	);
    	return $management_status;
    }
    
    /* 受注リスト画面・会員データ編集画面の対応状況を更新する */
    add_filter('usces_filter_orderlist_process_status', 'my_filter_orderlist_process_status', 10, 4);
    function my_filter_orderlist_process_status($p_status, $value, $management_status, $order_id){
    
    	global $usces;
    	
    	if( $usces->is_status('duringorder', $value) ){
    		$p_status = esc_html($management_status['duringorder']);
    	}elseif( $usces->is_status('cancel', $value) ){
    		$p_status = esc_html($management_status['cancel']);
    	}elseif( $usces->is_status('completion', $value) ){
    		$p_status = esc_html($management_status['completion']);
    	}elseif( $usces->is_status('returned', $value) ){
    		$p_status = esc_html($management_status['returned']);
    //		$p_status = '返却済み';
    	}else{
    		$p_status = esc_html(__('new order', 'usces'));
    	}
    	return $p_status;
    }

    上記だと、受注リスト画面では、「返却済み」とちゃんと表示されるのですが、会員データ編集画面の購入履歴では、空欄となってしまいます。
    ですが、//のコメントアウトを外すと、会員データ編集画面でも「返却済み」と表示されます。

    どうやら、$management_status['returned']で「返却済み」を取り出せていないようなのですが、何故でしょうか?

    コメントアウトの箇所を生かせば、実用には問題ないとは思うのですが、理解を深めたい気持ちもあり、ご質問させていただきます。
    恐縮ですが、ヒントでも結構ですので、ご回答頂けますよう、よろしくお願い申し上げます。

    #87220
    yskysmr
    キーマスター

    puripon 様

    Welcart 側にフィルターフックが入っていないことがわかりました。
    こちらにつきましては、再度修正いたしますので、もうしばらくお待ちいただけますでしょうか。
    この度はご不便をおかけしまして、申し訳ございません。

    #87223
    puripon
    参加者

    とんでもございません。承知いたしました。
    お手数おかけしまして恐縮ですが、よろしくお願い申し上げます。

    #87327
    puripon
    参加者

    バージョンを1.9.17に上げました。
    うまく動いてくれています。
    ご対応頂き、ありがとうございました。

7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。