2017-11-29 6 views
1

WordPressWooCommerceためShipStationプラグインの拡張機能を使用する場合、私はアドレスが私の場合は代わりにデフォルトのアドレスの請求先住所を(使用してShipStationに輸出されるだろう問題に遭遇しました配送先住所)をWooCommerceの設定から削除します。私が試したWooCommerce ShipStationの拡張子

もの:

  • 海運局は、デフォルトのアドレスは何の矛盾を確保していないWooCommerce設定
  • WooCommerceのために「送料」に設定した確保し、適切に私のカスタマイズの
  • 内で設定されていた確保ShipStationフックまたはフィルタが呼び出されました

適切なsolutiテーマとプラグインの競合を無効にし、Tween-Seventeenをテーマに使用することによって、通常のディセーブルのテーマとプラグインの競合を示唆する自動サポートと話しています。

彼らの欠陥はありません。基本的なことを確認するだけの通常の必要性。最終的な解決策の露出の欠如を考えると、ここで私の問題を投稿すると思っていましたが、これは回答セクションの解決策であり、スタックオーバーフローのポリシー違反ではないと考えています。回答は次のようになります:

答えて

1

私が見つけたのは、プラグインが、Ship Stationにアドレスを送信することを決定する前に、ユーザーに設定されている出荷国があるかどうかを確認することでした。これはしばしばOKですが、私のケースでは、チェックアウトフォームから国が削除され、決済顧客に決して設定されませんでした。これは、ShipStationがShipStationへのエクスポートのためにデータをステージングしていたときに、チェックが失敗することを意味していました。

ShipStationにデータがエクスポートされる前に、出荷日と請求国をNULLまたは定義していないときに出荷国と請求国を「米国」(クライアントの出身国)に設定することでした。エクスポートが行われたときにこの変更を行うために定義されたフィルタはないと思われたので、私はクライアントが各出荷日の前に実行する別のプロセスにこのアップデートを添付しました。

foreach ($users as $user=>$value) { 
    $this_user = get_user_by('id',$user); 
    if ($this_user->billing_country == null){ 
    update_user_meta($this_user->ID,'billing_country','US'); 
    }elseif (!$this_user->billing_country) { 
    add_user_meta($this_user->ID,'billing_country','US'); 
    } 
    if ($this_user->shipping_country == null){ 
    update_user_meta($this_user->ID,'shipping_country','US'); 
    }elseif (!$this_user->shipping_country) { 
    add_user_meta($this_user->ID,'shipping_country','US'); 
    } 
} 

これは、請求先住所と配送国の双方が常にありましたように、フルフィルメントレポートが実行されたメタdataeach時間を更新しました。

これは私の状況では機能しましたが、少し厳しいです。私は、この問題がより厄介な選択肢を保証するのに十分一般的であれば、他のアプローチにもオープンです。