Skip to content

اعلان‌های کد رهگیری ووکامرس

ارسال خودکار پیامک هنگام افزودن کد رهگیری توسط درگاه‌های حمل‌ونقل به سفارش‌های ووکامرس.

هنگامی که درگاه‌های حمل‌ونقل کد رهگیری را به سفارش‌های ووکامرس اضافه می‌کنند، به‌صورت خودکار از طریق پیامک به مشتریان اطلاع‌رسانی کنید. این کار تماس‌های پشتیبانی را کاهش داده و مشتریان را از وضعیت مرسولات‌شان مطلع نگه می‌دارد.

نحوه کار

  1. درگاه حمل‌ونقل مرسوله را پردازش کرده و یادداشتی حاوی کد رهگیری به سفارش اضافه می‌کند
  2. WSMS یادداشت‌های جدید سفارش را رصد می‌کند
  3. وقتی یادداشتی با الگوی کد رهگیری شما مطابقت داشته باشد، WSMS پیامکی به مشتری ارسال می‌کند

نمونه یادداشت سفارش

درگاه‌های حمل‌ونقل معمولاً یادداشت‌هایی با این فرمت اضافه می‌کنند:

Tracking code: 123456789 (Carrier: DHL)

پیاده‌سازی

این کد را به فایل functions.php قالب خود یا یک افزونه سفارشی اضافه کنید:

add_action('wp_insert_comment', 'wp_sms_handle_new_order_note', 10, 2);

function wp_sms_handle_new_order_note($comment_id, $comment_object) {
    // بررسی اینکه آیا کامنت یادداشت سفارش است
    if ($comment_object->comment_type !== 'order_note') {
        return;
    }

    // دریافت محتوای یادداشت
    $note_content = $comment_object->comment_content;

    // بررسی وجود کد رهگیری در یادداشت
    if (!preg_match('/Tracking code:/i', $note_content)) {
        return;
    }

    // دریافت شناسه سفارش از کامنت
    $order_id = $comment_object->comment_post_ID;

    // دریافت شماره تلفن مشتری از سفارش
    $customer_number = \WP_SMS\Helper::getWooCommerceCustomerNumberByOrderId($order_id);

    // بررسی وجود شماره تلفن معتبر
    if (empty($customer_number)) {
        return;
    }

    wp_sms_send(
        $customer_number,
        $note_content
    );
}

سفارشی‌سازی

تغییر الگو

الگوی regex را مطابق فرمت درگاه حمل‌ونقل خود تغییر دهید:

// برای فرمت "Shipment ID:"
if (!preg_match('/Shipment ID:/i', $note_content)) {
    return;
}

// برای الگوهای متعدد
if (!preg_match('/Tracking code:|Shipment ID:|AWB:/i', $note_content)) {
    return;
}

فرمت پیام سفارشی

به جای یادداشت خام سفارش، یک پیام سفارشی‌شده ارسال کنید:

// استخراج شماره رهگیری
preg_match('/Tracking code:\s*(\S+)/i', $note_content, $matches);
$tracking_number = $matches[1] ?? '';

$message = sprintf(
    'Your order #%d has shipped! Track it: %s',
    $order_id,
    $tracking_number
);

wp_sms_send($customer_number, $message);

درگاه‌های حمل‌ونقل سازگار

این راهکار با هر درگاه حمل‌ونقلی که یادداشت سفارش اضافه می‌کند کار می‌کند، از جمله:

  • OTO
  • DHL
  • FedEx
  • UPS
  • یکپارچه‌سازی‌های پیک محلی

مرتبط

آخرین به‌روزرسانی: ۳ دی ۱۴۰۳