كيفية إنشاء طلب مخصص تم استلام صفحة WooCommerce
نشرت: 2021-04-11هل تريد إضافة صفحة شكر مخصصة في متجر WooCommerce الخاص بك؟ تعد صفحة الشكر واحدة من أهم الصفحات في أي متجر WooCommerce. وتسمى أيضًا صفحة استلام الطلب.
يعرض WooCommerce محتويات صفحة شكرًا لك من قالب thankyou.php. تم العثور على هذا النموذج في woocommerce / قوالب / checkout / folder . لأغراض التوضيح ، سنستخدم موضوع Storefront. يجب نسخ thankyou.php إلى: wp-content / plugins / woocommerce / checkout / folder .
في هذا المنشور ، سنوضح لك كيف يمكنك استخدام نموذجنا الخاص عن طريق نسخ ملف thankyou.php إلى مجلد السمة الخاصة بك في بنية مجلد مماثلة.
تحتاج إلى معرفة بعض الترميز إذا كنت تريد استخدام هذه الطريقة لتخصيص صفحة استلام طلبك.
دعنا نلقي نظرة على كيفية تخصيص صفحة الطلب المستلمة.
تم استلام طلب WooCommerce المخصص بصفحة
أولاً ، عليك إنشاء مجلدين ، "woocommerce" و "checkout". نوصي بتغيير البيانات الموضحة في جدول تفاصيل الطلب وتفاصيل العميل (عند تسجيل الدخول).
إذا كنت لا ترى الملف ، فإن WooCommerce تستخدم دالة woocommerce_order_details_table () مرفقة بربط woocommerce_thankyou. يتم تعريف الوظيفة woocommerce_order_details_table () في ملف include / wc-template-function.php.
تخصيص صفحة الطلب المستلمة عن طريق الكتابة فوق قوالب WooCommerce
تعد صفحة شكرًا في الواقع مجموعة من 4 ملفات نماذج مختلفة:
- قوالب / الخروج / thankyou.php
- القوالب / الطلب / Order-details.php
- القوالب / الطلب / Order-details-item.php
- القوالب / الطلب / Order-details-customer.php
هذه هي الطريقة التي يتم بها عرض صفحة الطلب المستلم:
نريد إضافة رمز قسيمة إلى العميل لعملية الشراء التالية وإزالة طريقة الدفع من القسم العلوي.
نريد إضافته فوق قسم تفاصيل الطلب.
لذلك ، سنضيف الكود التالي في قالب صفحة شكرًا لك :
<?php Since this is your first order, we are happy to extend a 15% discount on your next purchase. Use the coupon code <strong>WELCOME15</strong> to avail the discount.
يوجد أدناه نموذج thankyou.php من موضوعي:
<!--?php defined( 'ABSPATH' ) || exit; ?--> <div class="woocommerce-order"> <!--?php if ( $order ) : do_action( 'woocommerce_before_thankyou', $order->get_id() );</p> <p> ?--> <!--?php if ( $order->has_status( 'failed' ) ) : ?--> <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', 'woocommerce' ); ?></a> <?php if ( is_user_logged_in() ) : ?> <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My account', 'woocommerce' ); ?></a> <?php endif; ?> </p> <?php else : ?> <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), $order ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p> <ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details"> <li class="woocommerce-order-overview__order order"> <?php esc_html_e( 'Order number:', 'woocommerce' ); ?> <strong><?php echo $order->get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <li class="woocommerce-order-overview__date date"> <?php esc_html_e( 'Date:', 'woocommerce' ); ?> <strong><?php echo wc_format_datetime( $order->get_date_created() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <?php if ( is_user_logged_in() && $order->get_user_id() === get_current_user_id() && $order->get_billing_email() ) : ?> <li class="woocommerce-order-overview__email email"> <?php esc_html_e( 'Email:', 'woocommerce' ); ?> <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <?php endif; ?> <li class="woocommerce-order-overview__total total"> <?php esc_html_e( 'Total:', 'woocommerce' ); ?> <strong><?php echo $order->get_formatted_order_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <?php if ( $order->get_payment_method_title() ) : ?> <li class="woocommerce-order-overview__payment-method method"> <?php esc_html_e( 'Payment method:', 'woocommerce' ); ?> <strong><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></strong> </li> <?php endif; ?> </ul> <?php endif; ?> <p>Since this is your first order, we are happy to extend a 15% discount on your next purchase. Use the coupon code <strong>WELCOME15</strong> to avail the discount.</p> <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?> <?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?> <?php else : ?> <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p> <?php endif; ?> </div>
هذه هي النتيجة:
من المهم ملاحظة أنه بمجرد معرفة البيانات التي تأتي من أي قالب ، ما عليك سوى نسخ القالب الصحيح إلى مجلد المكون الإضافي الخاص بك.
استنتاج
في هذا المنشور ، تعلمت كيفية الكتابة فوق قالب الطلب المستلم. يمكنك استخدام نفس الطريقة لتخصيص القوالب الأخرى. إذا كانت لديك أي مشاكل ، فيرجى استشارة أحد مطوري WordPress المؤهلين.
مقالات مماثلة
- إعادة توجيه WooCommerce بعد تسجيل الخروج [الدليل النهائي]
- 100+ تلميحات وحيل ومقتطفات دليل إخفاء WooCommerce النهائي
- إعادة توجيه WooCommerce بعد الخروج: إعادة التوجيه إلى صفحة الشكر المخصصة
- كيفية إزالة عنوان فئة المنتج WooCommerce
- كيفية إعادة توجيه صفحة WordPress بدون ملحقات؟
- كيفية نقل واجهة متجر القائمة الأساسية WooCommerce
- كيفية الموافقة التلقائية على الطلبات في WooCommerce
- كيفية إزالة نص تذييل البريد الإلكتروني "المدمج مع WooCommerce"
- كيفية إخفاء طرق الشحن لشروط معينة
- كيفية مسح سلة التسوق عند تسجيل الخروج في WooCommerce
- كيفية تحرير قالب صفحة الخروج من WooCommerce
- كيفية الحصول على معرف الطلب على صفحة الخروج WooCommerce
- كيفية إنشاء منطقة عنصر واجهة مستخدم مخصصة في WordPress خطوة بخطوة
- كيفية التحقق مما إذا كان المستخدم قد تم تسجيل دخوله إلى WordPress
- دليل WooCommerce Checkout Optimization السريع
- كيفية الحصول على اسم فئة المنتج الحالي في WooCommerce
- كيفية الحصول على طرق الدفع في WooCommerce »رمز مثال
- كيفية فرض الدفع الآمن في WooCommerce
- كيفية إنشاء قسيمة في WooCommerce
- كيفية تغيير عنوان صفحة الخروج من WooCommerce