phper

投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------

フォーラムへの返信

15件の投稿を表示中 - 1 - 15件目 (全30件中)
  • 投稿者
    投稿
  • 返信先: 【解決済】商品コードの登録について #100933
    phper
    参加者

    ありがとうございます。
    1.9.37のバージョンでは記号が一切使用できなかったため報告いたしましたが、現行バージョンで使用できるのであればよかったです。
    また、エラーについては商品コードが一番最初に入力する項目という事もあり、PCのモードが全角になっていることに気づかず入力を続けてしまう事があり、アラートが大変なことになるときが何度もございますのでご検討いただけますと幸いです。

    phper
    参加者

    ローカル環境から有料プラグインを更新できないのですが、ドメインでブロックをかけてますでしょうか?

    phper
    参加者

    すみません、こちらの件私の設定ミスでした。
    こちらで削除できないため、削除していただけると幸いです。

    phper
    参加者

    デモでwelcart2.3.4にアップデートしたところ、まだ症状が改善されませんでした。
    acfのpatchは使用しております。

    phper
    参加者

    決済など多くの箇所でusces_orderのorder_cartからシリアルデータを取得しているようですが、過去のコードとの兼ね合いで残さざるを得ないといった状況でしょうか。
    先ほど管理画面から商品追加を行ってみたところusces_orderのorder_cartカラムにはデータが登録されませんでしたので、現状フロントの処理でしか使用されていないようなので、私のカスタムでは同期はしなくてもよさそうです。

    とはいえデータの参照先が複数あると、思わぬ不具合の原因にもなり得るかと思いますので、
    いずれ統合されたほうが良いような気もします。

    ご返信ありがとうございました。

    • この返信は1年、 6ヶ月前にphperが編集しました。
    返信先: 商品一括登録の際の上書きについて #98797
    phper
    参加者

    ありがとうございます。
    意図せず上書きしてしまう可能性がありますので、実装いただけると助かります。
    よろしくお願いいたします。

    phper
    参加者

    ”使用していますが、複雑な部分になります。”
    どの部分で使用されていますか?なぜわざわざシリアル化したデータを残しているのですか?

    カスタマイズを大量に行っており、過去にアップデートでフックポイントを幾度となく削除されておりますので、アップデートは控えております。

    返信先: usces_filter_orderlist_getrows_resultsについて #96975
    phper
    参加者

    ありがとうございます。

    2つ目については引き続き追加を要望いたしますので、
    ご検討をお願いいたします。

    返信先: usces_filter_orderlist_getrows_resultsについて #96861
    phper
    参加者

    すみません、もしかすると下記のカスタマイズのときに自分で追加したのかもしれません。
    下記についてご対応いただいている場合、なんというフックが追加されたかわかりますでしょうか。

    https://www.welcart.com/community/forums/topic/%e3%83%95%e3%83%83%e3%82%af%e3%81%ae%e8%bf%bd%e5%8a%a0%e8%a6%81%e6%9c%9b

    phper
    参加者

    https://blog.tokumaru.org/2015/05/blog-post.html

    上記の徳丸先生の記事をご参照いただくとどうしてそのような事象が起きるのかが理解できると思います。
    そのうえでwelcartを確認すると、トランザクション処理を行っているコードを確認できないので、
    当然記事中のような現象が起きることになります。
    導入できるようであれば、ぜひ導入していただきたいですね。

    返信先: dec_order_idの生成について提案 #96649
    phper
    参加者

    コードを見て疑問点が4つほどあったので追記です。

    usces_action_reg_orderdata()の中で下記のようになっていますが、

    if( 100 < $olimit ){
    	$usces->set_order_meta_value('dec_order_id', uniqid(), $order_id);
    }else{
    	$usces->set_order_meta_value('dec_order_id', $dec_order_id, $order_id);
    }

    100桁を超えた場合に、uniqid()で生成した値を直接登録してしまっているため下記のフックでのカスタマイズが及ばなくなります。
    $dec_order_id = apply_filters( 'usces_filter_dec_order_id_prefix', $options['system']['dec_orderID_prefix'], $args ) . apply_filters( 'usces_filter_dec_order_id', $dec_order_id, $args );

    そもそも100桁なんていうオーダーIDは非現実的であるため、桁数の登録時点で制限をかけるべきだと思います。
    そうすればこのような冗長的なコードを書かなくてもよいので・・。

    あと、下記のコードですが、while内のコードの可読性が悪く最初何をやっているのかとおもいましたが、usces_get_key()で仮にfalse判定を受けた場合、次の処理に進んでしまいますが大丈夫でしょうか。例えば引数が0桁とか空文字とかの場合。

    
    while( $ukey = usces_get_key( $options['system']['dec_orderID_digit'] ) ){
    	$ores = $wpdb->get_var($wpdb->prepare("SELECT meta_key FROM $otable WHERE meta_key = %s AND meta_value = %s LIMIT 1", 'dec_order_id', $ukey));
    	if( !$ores || 100 < $olimit )
    		break;
    	$olimit++;
    }
    

    上記で重複をせっかくチェックしているのであれば、100桁オーバーの際にuniqid()で直接値を登録せずに、uniqid()で生成されたdec_order_idについてもチェックが必要であると思います。
    お分かりでしょうが、uniqid()は完全なユニークを生成するものではないので。

    少々荒っぽい物言いになってしまったかもしれませんが、ご確認とご検討をお願いします。

    phper
    参加者

    すみません、変更履歴という表記だったので分からなかったです。
    了解です。

    phper
    参加者

    一方、wc_get_order()というメソッドが存在するようですが、
    こちらはajax通信時に関数が使用できず少々不便ですが、難しいのでしょうか。

    phper
    参加者

    ありがとうございます。

    phper
    参加者

    Welcartには商品画像という独自のフィールドが用意されているため、アイキャッチをあえて制御しているのではないですか?
    既存のテーマ等との兼ね合いもあると思いますので、この仕様を変更することは不可能ではないでしょうか。

    ”今回の不具合自体はテーマなどから修正・回避可能なものですが、”
    とご自身で書かれているように、独自にアイキャッチ機能を使用されたいのであればその記述をfunctions.phpに記述すればよいという話ではないでしょうか?

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