異なる住所への出荷が使用された場合、woocommerceで注文の注文ステータスを変更したいと考えています。& Woocommerceは、顧客が以前に試したことがある可能性があるため、失敗した過去の注文を区別する必要があります。これは、システムに注文がありますが、失敗、キャンセルまたは保留になります。新規顧客がWooCommerceの別の住所に出荷された場合の注文ステータスの変更
「確認」というシステムで新しい注文ステータスをすでに作成しました。「別の住所に出荷」オプションを使用して注文を行うとスクリプトを実行するようになりました。前に注文したかどうかそうでない場合は、注文ステータスを"確認"に変更します。
私が最初に試したのは、注文が確認されるまで出荷されないという注文が1つしかない場合、顧客に以下のコードで警告を出すことでした。しかし、どれだけの注文があっても表示されます。
私が試してみましたがfunctions.php
ファイルにこのコードを設定している:彼らは別のアドレスとその彼らの最初の注文に船を選択した場合、私は行方不明です何
function wc_get_customer_orders() {
// Get all customer orders
$customer_orders = get_posts(array(
'numberposts' => 1,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id(),
'post_type' => wc_get_order_types(),
'post_status' => array_keys(wc_get_order_statuses()),
));
$customer = wp_get_current_user();
// Text for our message
$notice_text = sprintf('Hey %1$s 😀 As this is your first order with us, we will need to verify some info before shipping.', $customer->display_name);
// Display our notice if the customer has no orders
if (count($customer_orders) == 1) {
wc_print_notice($notice_text, 'notice');
}
}
add_action('woocommerce_before_my_account', 'wc_get_customer_orders');
だけでこのアラートをトリガーする方法です。
また、検証するためにステータスを更新するコードもそこでトリガされる必要があります。
ご協力いただければ幸いです。
ありがとうございました。 このコードをテストすると、次の致命的なエラーが発生しました。 致命的なエラー:/ home/******/public_html/wp-content/themes/*******/functionsのブール値でメンバ関数get_user_id()を呼び出します。php on line 1422 – 305David
@ 305David ...私は答えを更新しました...それは少し間違いでした。もう一度やり直してください。今回はうまくいくはずです。おかげで – LoicTheAztec
ありがとうLoicは、このWordPressフォーラムがあなたのサポート外であることを知っていません。 このコードが動作することを確認できます。 船舶を異なる住所に選んだ新規顧客からの注文を確認し、ステータスを確認するように設定します。 私は手動で、管理注文画面のステータスボタンの幅と高さを広げ、また赤い背景を与えるクラス "確認"にいくつかのCSSを手動で追加しました。店の管理者は、検証する必要があります。 もう一度ありがとうございます。 – 305David