كيفية إنشاء طلب مخصص تم استلام صفحة WooCommerce

نشرت: 2021-04-11

تم استلام طلب WooCommerce المخصص بصفحة هل تريد إضافة صفحة شكر مخصصة في متجر 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 &lt;strong&gt;WELCOME15&lt;/strong&gt; 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 المؤهلين.

مقالات مماثلة

  1. إعادة توجيه WooCommerce بعد الخروج: إعادة التوجيه إلى صفحة الشكر المخصصة