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

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

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

    ——————————————-
    WordPress のバージョン:(5.2.2)
    Welcart のバージョン:(1.9.19)
    PHP のバージョン:(例 5.6)
    Welcart専用の拡張プラグイン:(DLSeller 3.0.3、Yamato Number 1.1.1)
    ご利用のテーマ:(WelcartBasicの自作子テーマ)
    症状を確認したブラウザ:google chrome、
    サーバー:(さくらサーバー スタンダードプラン)
    SSLの利用:(常時SSL)
    ——————————————–

    いつもお世話になります。

    以下のトピックを参考に、

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

    フィルターフックusces_filter_management_statusを使い、対応状況の選択項目を以下のように追加しました。(’保留’というステータスです)

    add_filter('usces_filter_management_status','my_filter_management_status', 10, 1);
    function my_filter_management_status($management_status){
        $management_status += array(
            'onhold' => '保留',
        );
        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('onhold', $value) ){
    		$p_status = esc_html($management_status['onhold']);
    //		$p_status = '保留';
    	}else{
    		$p_status = esc_html(__('new order', 'usces'));
    	}
    	return $p_status;
    }
    

    これによって確かに「保留」というステータスが一覧にも追加されているのですが、添付画像のように、検索すると表示されなかったり、「新規受付」にまぎれこんで表示されたりしてしまいます。どのようにするとよいでしょうか? ご教授いただけますとたいへん助かります。

    Attachments:
    You must be logged in to view attached files.
    #87885
    yskysmr
    キーマスター

    こんにちは。

    フィルターフック usces_filter_orderlist_search_process_status への記述が必要になるかと思います。

    #87899
    ooshima
    参加者

    yskysmr様、ありがとうございます。
    調べてみたいと思います!

    #87906
    yskysmr
    キーマスター

    ooshima 様

    フックの戻り値に、”同じような書式で”追加したステータスを返却(配列を追加)してみてください。

    #87911
    ooshima
    参加者

    たいへんごていねいに教えていただき、ありがとうございます。
    このように書いてみたところ、どうやら動いているようです。(コードの記述が、教えていただいた通りになっているか、自信はないのですが(^^;

    add_filter('usces_filter_orderlist_search_process_status','my_filter_orderlist_search_process_status', 10);
    function my_filter_orderlist_search_process_status($search_process_status) {
        $search_process_status = array( "%duringorder%", "%cancel%", "%completion%", "%onhold%" );
        return $search_process_status;
    }

    onholdが追加したステータスです。

    細かい点なのですが、上部の件数には数字が反映されておらず、「新規受付」で検索しますと、(保留を含めた)検索結果のうち、「新規受付」だけを表示しますよ、という風になっていました。この部分の調整もフックで対応できますでしょうか?

    Attachments:
    You must be logged in to view attached files.
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。