WooCommerce: إنشاء طلب من موقع ويب آخر!

A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

سيكون هذا برنامج تعليمي رائع. وهو يعمل بالتأكيد ، لأنني قمت بتطبيقه للتو على موقع WooWeekly الجديد تمامًا !

كنت أبحث أساسًا عن طريقة لإنشاء طلب على موقع Business Bloomer WooCommerce عندما يسجل العميل من صفحة حسابي على موقع WooWeekly WooCommerce. والسبب في القيام بذلك هو أنني أستخدم التسويق عبر البريد الإلكتروني على Business Bloomer ، والطريقة الوحيدة لإضافة جهة اتصال بريد إلكتروني من موقع ويب آخر كانت باستخدام “REST API” التي توفرها WooCommerce.

الآن ، لقد تعلمت كل هذا اليوم ، حتى تتمكن من تحقيق أشياء معقدة أيضًا. سأوفر لك فقط بضع ساعات من الصداع في محاولة لمعرفة كيفية عمل النظام – ولهذا السبب أنت هنا!

لذا ، كيف يمكنك إنشاء طلب WooCommerce على أحد مواقع الويب عند حدوث حدث على موقع ويب آخر؟ يتمتع!

1. قم بإنشاء مجموعة من مفاتيح REST API

انتقل إلى موقع الويب حيث تريد إنشاء الطلب ، ثم انتقل إلى WooCommerce -> الإعدادات -> خيارات متقدمة -> REST API -> إضافة مفتاح.

أدخل الوصف الخاص بك ، والأهم من ذلك تعيين الأذونات على “قراءة / كتابة”. انقر فوق “إنشاء مفتاح API”:

سيتم تقديمك الآن مع مجموعة من المفاتيح ، وعلى وجه التحديد “مفتاح العميل” و “سر العميل”:

الآن ، أصبح موقع الويب الخاص بك حيث ترغب في إنشاء الطلبات (أو أي شيء مثل منتجات WooCommerce والعملاء وما إلى ذلك) “جاهزًا” لأننا أنشأنا للتو طريقة لموقع ويب آخر للتواصل معه والقراءة والكتابة .

2. أضف رمزًا إلى موقع الويب “الآخر”

بمجرد حدوث شيء ما على موقع الويب الآخر ، مثل تقديم نموذج ، يمكنك استخدام بعض الرموز “لإرسال البيانات” إلى موقع الويب حيث تريد إنشاء الطلب برمجيًا.

في حالتي ، قمت بتحديد خطاف ” woocommerce_created_customer “: بمجرد أن يسجل عميل WooCommerce على https://wcwkly.com (انظر نموذج التسجيل أعلى الصفحة الرئيسية؟) أريد طلبًا تم إنشاؤه على Business Bloomer. لقد قمت بإنشاء مفاتيح API على Business Bloomer ، حتى أتمكن من توصيل الاثنين والسماح لهما بعمل سحرهما.

مقتطف PHP: إنشاء طلب على موقع WooCommerce “أ” عند وقوع حدث على موقع الويب “ب”

ملحوظة: بالطبع الصق مفتاح المستهلك وأكواد المفاتيح السرية في المتغيرين $ live_ck و $ live_cs. أيضًا ، قم بتغيير عنوان موقع الويب $ live_url إلى عنوانك!

/**
 * @snippet       Create WooCommerce Order via API
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 5
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_action( 'woocommerce_created_customer', 'bbloomer_create_order_from_wcwkly', 9999, 3 ); 
    
function bbloomer_create_order_from_wcwkly( $customer_id, $new_customer_data, $password_generated ) {
   $live_ck = 'ck_blablabla';
   $live_cs = 'cs_blablabla';
   $live_url = 'https://www.businessbloomer.com/wp-json/wc/v3/orders?consumer_key=' . $live_ck . '&consumer_secret=' . $live_cs;
   $customer = new WC_Customer( $customer_id );
   $body = array(
      'status' => 'completed',
      'meta_data' => array( array( 
         'key' => 'createdby',
         'value' => 'wcwkly.com'
      )),
      'total' => 0,
      'billing' => array(
         'first_name' => $customer->get_billing_first_name(),
         'email' => $customer->get_email(),
      ),
      'line_items' => array( array( 
         'product_id' => 195376,
         'quantity' => 1,
      )),
   );
   $raw_response = wp_remote_post( $live_url, 
      array(
         'headers' => array( 'Content-Type' => 'application/json' ),
         'timeout' => 30,                    
         'body' => json_encode( $body ),
      )
   );
}

في حالتي ، كما ترى من الكود ، أقوم بإنشاء طلب بالحالة مكتملة ، وسجّل بعض البيانات الوصفية فيه بالقول إن الطلب تم إنشاؤه بواسطة عنوان URL لموقع الويب الآخر ، فأنا أقوم بتعيين الإجمالي إلى 0 دولار ، أقوم بإضافة اسم الفوترة الأول والبريد الإلكتروني ، ومنتج بالمعرف = 195376 والكمية = 1. جميع المعلمات التي يمكن استخدامها موجودة هنا: https://woocommerce.github.io/woocommerce-rest-api- docs / # order-properties – يمكنك تعيين أي معلمة ليست “للقراءة فقط”.

النتيجة النهائية؟ ها أنت ذا. أدخل مستخدم الاختبار ” www ” كاسم أول و ” rodolfomelogli …… @…. “كبريد إلكتروني للفوترة وهو الجزء الديناميكي من البيانات ، بينما تم تعيين الباقي من خلال رمز.

المنشورات ذات الصلة:

WooCommerce: تحقق مما إذا كان معرف المنتج موجودًا في الطلب

WooCommerce: إضافة New Row @ Order Totals (البريد الإلكتروني وصفحة الشكر)

WooCommerce: أضف ملاحظات الطلب إلى فواتير WooCommerce PDF

WooCommerce: تحديث Meta للمستخدم بعد طلب ناجح

WooCommerce: تعطيل البريد الإلكتروني لطلب العميل للطلبات المجانية

WooCommerce: عيّن حالة الطلب المخصص للأوامر الجديدة

WooCommerce: السماح للمستخدمين بتعديل أوامر المعالجة

WooCommerce: أرسل بريدًا إلكترونيًا إلى المسؤول كل 3 ساعات (مهمة كرون)

WooCommerce: حفظ وعرض الوزن الإجمالي للطلب

WooCommerce: قم بتحديث قيمة حقل الطلب بعد نجاح الطلب

أين تضيف هذا المقتطف؟

يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”

هل هذا المقتطف (لا يزال) يعمل؟

يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.

إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂

هل تحتاج إلى مساعدة في WooCommerce؟

تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

توضيح

اي عملية نسخ او اقتباس او ترجمة او نقل تم لاغراض علمية وتدريبية وتعليمية بحته وقد تم انشاء هذا المحتوى بمعرفة خبراء في مجال التقنية اما عن طريق إنشاء او تحرير او نقل او نسخ او اقتباس او ترجمة المحتوى من مصادر خاصة او عامة وكل ذلك ضمن حقوق النشر المتعارف عليها.

اي أخطاء تظهر في المحتوى مهما كان نوعه او تصنيفه يمكنك تحرير رسالة فورية لادارة موثوق لاجل تصحيح هذه الاخطاء، وسنكون شاكرين لك في حال قمت بالتعاون معنا لاجل اصلاح هذه الاخطاء.

شاركنا رايك وتقييمك للموضوع

{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}