هذا مقتطف WooCommerce رائع (أو مكون إضافي ، إذا كنت ترغب في تسميته على هذا النحو) لأولئك الذين يرغبون في تقديم رسوم الخروج المشروطة. على سبيل المثال ، قد تحتاج إلى عرض أزرار اختيار تسجيل الخروج المخصصة لاختيار أنواع التغليف المتميزة أو خيارات تغليف الهدايا أو الخدمات المحددة أو أي شيء يمكن أن يزيد AOV (متوسط قيمة الطلب).
يجب أن يعمل تحديد زر الاختيار مع “Ajax” – مما يعني أنه بمجرد اختيار زر الاختيار ، يجب تحديث تسجيل الخروج لعرض الرسوم والإجماليات المحدثة.
يتم تحقيق شيء مشابه (وأكثر تعقيدًا أيضًا ، مثل تقديم منتجات إضافية) من خلال WooCommerce Checkout Add-Ons Plugin المباع في سوق WooCommerce.com الرسمي. لكن في هذه الحالة ، نريد أن نلقي نظرة على الترميز المخصص حتى يكون لديك شيء لتلعب به! يتمتع.
أضف رسومًا ديناميكية إلى WooCommerce Checkout بناءً على خيار زر الاختيار المخصص
مقتطف PHP: أضف رسومًا ديناميكية بناءً على أزرار الراديو المخصصة @ WooCommerce Checkout
/**
* @snippet Dynamic Fee @ WooCommerce Checkout
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @testedwith WooCommerce 3.9
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
// Part 1
// Display Radio Buttons
add_action( 'woocommerce_review_order_before_payment', 'bbloomer_checkout_radio_choice' );
function bbloomer_checkout_radio_choice() {
$chosen = WC()->session->get( 'radio_chosen' );
$chosen = empty( $chosen ) ? WC()->checkout->get_value( 'radio_choice' ) : $chosen;
$chosen = empty( $chosen ) ? '0' : $chosen;
$args = array(
'type' => 'radio',
'class' => array( 'form-row-wide', 'update_totals_on_change' ),
'options' => array(
'0' => 'No Option',
'10' => 'Option 1 ($10)',
'30' => 'Option 2 ($30)',
),
'default' => $chosen
);
echo '<div id="checkout-radio">';
echo '<h3>Customize Your Order!</h3>';
woocommerce_form_field( 'radio_choice', $args, $chosen );
echo '</div>';
}
// Part 2
// Add Fee and Calculate Total
add_action( 'woocommerce_cart_calculate_fees', 'bbloomer_checkout_radio_choice_fee', 20, 1 );
function bbloomer_checkout_radio_choice_fee( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
$radio = WC()->session->get( 'radio_chosen' );
if ( $radio ) {
$cart->add_fee( 'Option Fee', $radio );
}
}
// Part 3
// Add Radio Choice to Session
add_action( 'woocommerce_checkout_update_order_review', 'bbloomer_checkout_radio_choice_set_session' );
function bbloomer_checkout_radio_choice_set_session( $posted_data ) {
parse_str( $posted_data, $output );
if ( isset( $output['radio_choice'] ) ){
WC()->session->set( 'radio_chosen', $output['radio_choice'] );
}
}
المنشورات ذات الصلة:
WooCommerce: أضف رسوم الدفع لبوابة الدفع (مثل PayPal)
WooCommerce: 10 مقتطفات سهلة لزيادة مبيعاتك
WooCommerce: أضف Upsell Area @ Checkout Page
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: Get / Edit Logged in Username @ Checkout
WooCommerce: عرض إجمالي الخصم / التوفير في سلة التسوق والدفع
WooCommerce: الشحن فقط إلى عناوين “الاستلام المحلية” المحددة مسبقًا
WooCommerce: تحرير “عودة الزبون؟” رسالة @ الخروج
WooCommerce: عيّن حالة الطلب المخصص للأوامر الجديدة
WooCommerce: Maxlength و Minlength لحقول الخروج
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج
إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!

