ارسال ایمیل فاکتور به پنل کاربری

abizaki

تازه وارد
سلام دوستان
ایمیلی که ووکامرس به کاربر می فرسته و توش لینک پرداخت رو می ذاره، می خوام تو پنل کاربری خود سایت هم مشاهده بشه. یعنی کاربر لازم نباشه بره به ایمیلش. می خوام بتونه از طریق خود سایت، به لینک پرداخت - که بعد از اجازۀ مدیر بهش ایمیل می شه - دسترسی داشته باشه.
 

abizaki

تازه وارد
یه راهی واسه حل این مشکل پیدا کردم. اما همچنان یه گیر هایی داره.

راهکار اینه که یه کد تو function.php اضافه بشه برای غیر فعال کردن پرداخت تو صفحۀ checkout، تا بعد از اون، سفارش به حالت "تکمیل شده" در بیاد. اون وقت مدیر می تونه وضعیت سفارش رو به "در انتظار پرداخت" تغییر بده تا لینک پرداخت تو قسمت سفارشات پنل کاربری، بیاد.
اما مشکل اینجاست که بعد از checkout نمی خوام سفارش بره تو وضعیت "تکمیل شده". بلکه می خوام بره به "در انتظار بررسی" یا همون "processing".

کدی که می گفتم تو function.php نوشته می شه:

PHP:
add_filter( 'woocommerce_cart_needs_payment', '__return_false' );

دنبال راهی می گردم برای اینکه وضعیت رو از حالت تکمیل شده در بیاره یا اصلا وارد این وضعیت نشه.
این کد رو از اینترنت پیدا کردم و یه کم تغییرش دادم، شد این:
PHP:
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_pending_completed_order', 10, 1 );
function custom_woocommerce_auto_pending_completed_order( $order_id ) {
    if ( ! $order_id )
    return;

    $order = wc_get_order( $order_id );

$cach = get_post_meta($order_id, '_payment_method', false);
foreach ($cach as $key => $value) {
    if (empty($value)) {
       unset($cach[$key]);
    }
}
if (empty($cach)) {
  // For completed Orders without any payment methods (with paid status "completed")
    if( $order->get_status()  === 'completed' ) {
        $order->update_status( 'processing' );
    }
   
}


}
منتهی اینم کار نمی کنه. این کد قراره بعد از تبدیل وضعیت به "تکمیل شده" اونو به "در انتظار بررسی" تغییر بده.
 
آخرین ویرایش:
بالا