كيفية إنشاء أكواد قسيمة فريدة في WooCommerce برمجيًا
نشرت: 2020-07-06في منشورنا السابق ، ناقشنا كيف يمكن للمرء تطبيق رمز القسيمة تلقائيًا على عربة WooCommerce. هناك استخدمنا رمز قسيمة عام تم إنشاؤه ضمن WooCommerce -> قائمة القسائم لجميع الطلبات المقدمة من قبل العملاء المختلفين.
لكن في بعض الأحيان بصفتك مالك متجر ، فأنت تريد إنشاء رمز قسيمة فريد لكل عميل على موقع الويب الخاص بك في مواقف معينة. دعنا نأخذ مثالين حيث قد ترغب في إنشاء رموز قسيمة فريدة.
مثال 1:
بصفتك مالك متجر على الإنترنت ، فإن أسوأ شيء يمكن أن تواجهه في دورة الشراء للعميل هو التخلي عن عربة التسوق. تقريبا. يتم التخلي عن 68 إلى 70٪ من عربات التسوق على موقع الويب من قبل المستخدمين ويمكن أن يكون هناك أسباب متعددة لذلك. أحد الأسباب الأكثر شيوعًا هو ارتفاع أسعار المنتجات أو ارتفاع الرسوم الإضافية مثل رسوم الشحن والتي تظهر بشكل عام عند الخروج وليس قبل ذلك.
لذلك هنا ، لتقليل التخلي عن سلة التسوق وتحويل أكبر عدد ممكن من المستخدمين إلى عملاء ، يمكنك ببساطة جذبهم ببعض كوبونات الخصم لشرائهم. بهذه الطريقة يمكنك تحويل عرباتك المهجورة إلى عربات مستردة.
في مثل هذه الحالات ، من الأفضل تقديم رمز قسيمة فريد بحد استخدام واحد لكل عربة تم التخلي عنها لتجنب الاستخدامات المتعددة للرمز.
المثال 2:
مثال آخر على إنشاء أكواد قسيمة فريدة هو للعملاء الذين اشتروا مرة واحدة من متجرك ، ولكن لجذبهم لشراء المزيد ، ستفضل أن ترسل لهم بعض قسائم الخصم لعملية الشراء التالية. لذلك ، إذا كنت ستقوم بإنشاء رمز قسيمة عام لجميع العملاء ، فيمكنهم تمرير القسائم إلى الأشخاص الآخرين الذين يعرفونهم والتي يمكن استخدامها من قبلهم في عمليات الشراء الجديدة.
لذلك هنا يمكن إساءة استخدام رمز القسيمة الذي تم إنشاؤه للعملاء العائدين. لتجنب ذلك ، من الأفضل إنشاء رمز قسيمة فريد لكل عميل مع تعيين حد استخدام على 1.
ليس من الممكن إنشاء أكواد قسيمة فريدة يدويًا لكل عميل من WooCommerce -> Coupons menu. لذا فإن الخيار الآخر هو إضافة مقتطف رمز لإنشاء قسائم متعددة في وقت واحد لمستخدمين مختلفين وسنناقش كيفية تحقيق ذلك في منشورنا.
طريقتان لإنشاء أكواد قسيمة فريدة في WooCommerce
تتمثل الخطوة الأولى لإنشاء رمز قسيمة فريد في إنشاء سلسلة عشوائية لكل قسيمة. سيتم إنشاء ذلك باستخدام الكود أدناه.
أحرف $ = "ABCDEFGHJKMNPQRSTUVWXYZ23456789" ؛ $ char_length = "8" ؛ Random_string = substr (str_shuffle (أحرف $) ، 0 ، $ char_length) ؛
هنا تقوم الدالة substr () بإرجاع جزء السلسلة المحدد بواسطة معلمات البدء والطول وتقوم الدالة str_shuffle () بترتيب السلسلة التي تم تمريرها عشوائيًا.
بعد إنشاء السلسلة الفريدة ، ستكون الخطوة التالية هي إنشاء رمز القسيمة باستخدام مقتطف الشفرة. سنناقش طريقتين يمكنك من خلالهما إنشاء أكواد قسيمة برمجيًا في WooCommerce .
1. استخدام دالة wp_insert_post ()
الطريقة الأولى لإضافة رمز القسيمة برمجيًا هي باستخدام وظيفة wp_insert_post () التي تتيح لك إضافة أو تحديث منشور WordPress. لذلك في حالتنا ، نضيف منشورًا بنوع المنشور shop_coupon باستخدام هذه الوظيفة. لإضافة التعريف الخاص بالقسائم التي تم إنشاؤها ، يتم استخدام وظيفة update_post_meta (). تحتاج إلى إضافة الكود أدناه إلى ملف function.php الخاص بالقالب الفرعي أو استخدام أي مكون إضافي لمقتطفات التعليمات البرمجية.
coupon_code = 'UNIQUECODE'؛ // رمز تم إنشاؤه باستخدام مقتطف سلسلة عشوائية. المبلغ بالدولار = '10' ؛ // مقدار نوع الخصم $ = 'النسبة المئوية'؛ // النوع: عربة ثابتة ، في المائة ، منتج ثابت ، في المائة منتج قسيمة دولار = مجموعة ( 'post_title' => coupon_code دولار ، "post_content" => "، 'post_status' => 'نشر' ، 'post_author' => 1 ، "post_type" => "shop_coupon" ) ؛ new_coupon_id = wp_insert_post (قسيمة $) ؛ // إضافة meta update_post_meta ($ new_coupon_id، 'discount_type'، $ discount_type) ؛ update_post_meta ($ new_coupon_id، 'coupon_amount'، $ amount)؛ update_post_meta ($ new_coupon_id، 'individual_use'، 'no')؛ update_post_meta ($ new_coupon_id، 'product_ids'، ')؛ update_post_meta ($ new_coupon_id، 'extracte_product_ids'، '')؛ update_post_meta ($ new_coupon_id، 'Usage_limit'، '')؛ update_post_meta ($ new_coupon_id، 'expiry_date'، '') ؛ update_post_meta ($ new_coupon_id، 'application_before_tax'، 'نعم')؛ update_post_meta ($ new_coupon_id، 'free_shipping'، 'no')؛
2. استخدام WooCommerce Rest API
هناك طريقة أخرى لإضافة رمز القسيمة برمجيًا وهي استخدام WooCommerce Rest API التي يوفرها المكون الإضافي نفسه. يحتوي WooCommerce على دليل كامل مقدم لـ Rest API بما في ذلك المصادقة وجلب البيانات والقسائم والأوامر وما إلى ذلك ولكن كمرجع ، يوجد أدناه مقتطف صغير يمكنك استخدامه لإنشاء رمز القسيمة.
تتطلب مرة واحدة __DIR__. "/vendor/autoload.php" ؛ استخدام Automattic \ WooCommerce \ Client ؛ استخدم Automattic \ WooCommerce \ HttpClient \ HttpClientException ؛ $ woocommerce = عميل جديد ( "https://example.com" ، 'مفتاح المستهلك'، 'سر المستهلك'، [ 'wp_api' => صحيح ، 'الإصدار' => 'wc / v3' ] ) ؛ بيانات دولار = [ 'code' => '10off' ، "discount_type" => "نسبة مئوية" ، "المبلغ" => "10" ، 'Individual_use' => صحيح ، 'استبعاد_sale_items' => صحيح ، "الحد الأدنى_المبلغ" => "100.00" ] ؛ $ woocommerce-> post ('coupons'، $ data)؛
هذا مقتطف أساسي من التعليمات البرمجية لإنشاء رمز قسيمة لخصم 10٪ على طلب يبلغ إجمالي الطلب فيه أكثر من 100 دولار. رمز القسيمة هو "10off" ويمكن استخدامه من قبل عميل واحد فقط. هذه ليست سوى الخصائص الأساسية المطلوبة لإنشاء رمز القسيمة ، ولكن إذا كنت ترغب في إضافة بعض الخصائص الإضافية ، فإليك القائمة الخاصة بها.

معرف - ( int ) معرف فريد للكائن .
كود - (سلسلة) (مطلوب) رمز القسيمة.
المبلغ - (سلسلة) مقدار الخصم. يجب أن تكون أرقامًا دائمًا ، حتى لو كانت تحدد النسبة المئوية.
date_created - (تاريخ-وقت) تاريخ إنشاء القسيمة حسب المنطقة الزمنية للموقع.
date_created_gmt - (date-time) تاريخ إنشاء القسيمة ، مثل GMT.
date_modified - (تاريخ-وقت) تاريخ آخر تعديل للقسيمة حسب المنطقة الزمنية للموقع.
date_modified_gmt - (date-time) تاريخ آخر تعديل للقسيمة ، مثل GMT.
discount_type - (سلسلة) تحدد نوع الخصم الذي سيتم تطبيقه. الخيارات: النسبة المئوية ، والعربة الثابتة ، والمنتج الثابت. الافتراضي هو fix_cart .
الوصف - (سلسلة نصية) وصف القسيمة.
date_expires - (سلسلة نصية) تاريخ انتهاء صلاحية القسيمة حسب المنطقة الزمنية للموقع.
date_expires_gmt - (سلسلة نصية) تاريخ انتهاء صلاحية القسيمة ، مثل GMT.
Usage_count - (int) عدد مرات استخدام القسيمة بالفعل.
Individual_use - (bool) إذا كان هذا صحيحًا ، فلا يمكن استخدام القسيمة إلا بشكل فردي. ستتم إزالة القسائم المطبقة الأخرى من سلة التسوق. الافتراضي هو خطأ .
product_ids - (مجموعة) قائمة بمعرفات المنتجات التي يمكن استخدام القسيمة عليها.
استبعاد_المنتجات_مصفوفة - قائمة بمعرفات المنتجات التي لا يمكن استخدام القسيمة فيها.
Usage_limit - (int) كم مرة يمكن استخدام القسيمة في المجموع.
Usage_limit_per_user - (int) كم مرة يمكن استخدام القسيمة لكل عميل.
Limit_usage_to_x_items - (int) أقصى عدد من العناصر في سلة التسوق يمكن تطبيق القسيمة عليها.
free_shipping - (bool) إذا كان هذا صحيحًا وإذا كانت طريقة الشحن المجاني تتطلب قسيمة ، فستتيح هذه القسيمة الشحن المجاني. الافتراضي هو خطأ .
product_categories - (مجموعة) قائمة معرفات الفئات التي تنطبق عليها القسيمة.
استبعاد_المنتج_الفئات - (مصفوفة) قائمة معرفات الفئات التي لا تنطبق عليها القسيمة.
exe_sale_items - (bool) إذا كان هذا صحيحًا ، فلن يتم تطبيق هذه القسيمة على العناصر التي لها أسعار بيع. الافتراضي هو خطأ .
الحد الأدنى_المبلغ - (سلسلة) الحد الأدنى لمبلغ الطلب الذي يجب أن يكون في سلة التسوق قبل تطبيق القسيمة.
max_amount - (سلسلة) الحد الأقصى لمبلغ الطلب المسموح به عند استخدام القسيمة.
email_restrictions - (مجموعة) قائمة عناوين البريد الإلكتروني التي يمكنها استخدام هذه القسيمة.
used_by - (مجموعة) قائمة معرفات المستخدم (أو عناوين البريد الإلكتروني للضيف) الذين استخدموا القسيمة.
meta_data - (مصفوفة) ميتاداتا.
استنتاج
تعتبر مقتطفات الشفرة المذكورة أعلاه مجرد مثال على كيفية إنشاء رمز القسيمة. لاستخدامها على موقع الويب الخاص بك ، يجب إرفاقها بأي خطافات أو فلاتر مطلوبة. على سبيل المثال ، يمكن استخدامه على أي خطاف في العربة أثناء تتبع التخلي عن العربة أو يمكن استخدامه في وظيفة Cron التي سيتم تشغيلها كل أسبوع لإرسال تحديثات البريد الإلكتروني إلى عملائك.
استفد من أكواد القسائم الفريدة واجعل بعض العملاء العائدين سعداء لموقعك على الويب.