تحقق من عدم عمل التحقق لزر الانتقال إلى الدفع في ووكوميرس
تعتبر منصة WooCommerce من أشهر وأقوى الإضافات المستخدمة في تحويل موقع WordPress إلى متجر إلكتروني متكامل. واحدة من التحديات التي قد تواجه المستخدمين هي مشكلة عدم عمل خاصية التحقق من صحة العلامة عند الضغط على زر "المتابعة إلى الدفع". في هذا المقال، سنستعرض طريقة معالجة هذه المشكلة من خلال إضافة كود جافا سكريبت بسيط يمكن أن يساعدك في تفعيل هذه الخاصية.
مقدمة حول حل مشكلة التحقق من صحة الزر في WooCommerce
الكثير من المستخدمين يحتاجون إلى إضافة شرط تحقق قبل إتمام عملية الشراء، مثل قراءة شروط معينة أو موافقة على سياسات معينة. بينما يوفر WooCommerce العديد من الميزات، إلا أنه في بعض الأحيان، قد لا تعمل بعض الخصائص كما هو متوقع. وفي هذه الحالة، تكون الحاجة ملحة لإضافة رمز برمجي لتحسين التجربة.
خطوات التعامل مع المشكلة
لحل مشكلة "Woocommerce – Checkmark validation not working for proceed_to_checkout button"، نحتاج إلى إضافة قطعة من كود جافا سكريبت إلى ملف functions.php في الثيم الفرعي الخاص بك أو في إضافة مخصصة. يجب التأكد من أن الكود يتحقق من وجود الإضافات الضرورية قبل التنفيذ.
أول خطوة هي التأكد من أن إضافة WooCommerce مفعلة عن طريق استخدام التحقق من وجود الكلاس class_exists('WooCommerce')
. ومن ثم، نقوم بتعريف دالة للحصول على عناصر السلة والتحقق من وجود العناصر المستهدفة.
function cart_items_skus( $skus = array() ) {
foreach( WC()->cart->get_cart() as $item ) {
$skus[] = $item['data']->get_sku();
}
return $skus;
}
عرض خانة التحقق (Checkbox) في صفحة السلة
لإظهار خانة تأكيد (Checkbox) في صفحة السلة، نقوم بإنشاء دالة تتحقق من وجود أي من المنتجات المستهدفة. نستطيع تحديد معرفات المنتجات التي نرغب في التأكد منها باستخدام مصفوفة. إذا كانت تلك المنتجات موجودة في عربة التسوق، سيظهر حقل التأكيد.
add_action('woocommerce_proceed_to_checkout', 'cart_disclaimer1_test', 10);
function cart_disclaimer1_test() {
$targeted_SKUs = array('1254xxc', '136cfbf', 'woo-beanie');
if ( array_intersect( $targeted_SKUs, cart_items_skus() ) ) {
$field_slug = 'cart_disclaimer_cb';
wc_enqueue_js("const strPTC = '.checkout-button', btnPTC = $(strPTC), checkoutURL = btnPTC.prop('href');
btnPTC.removeAttr('href').addClass('disabled');
$(document.body).on('change', 'input[name={$field_slug}]', function(){
$(this).prop('checked') ?
btnPTC.prop('href', checkoutURL).removeClass('disabled') :
btnPTC.removeAttr('href').addClass('disabled');
});");
woocommerce_form_field( $field_slug, array(
'type' => 'checkbox',
'class' => array('form-row disclaimer-checkbox'),
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => true,
'label' => 'لقد قرأت وفهمت تحذير ICG70 Rover.',
));
}
}
تفعيل الكود ومراجعته
يتم إدراج الكود في ملف functions.php
، وبهذه الطريقة نضمن عرض خانة التأكيد في صفحة السلة. إذا كان أي من المنتجات المدرجة موجودًا في عربة التسوق، فسيتم تعطيل زر "المتابعة إلى الدفع" حتى يتم التحقق من الخانة. هذا يسهم في رفع مستوى التفاعل ورضا العملاء.
خلاصة
في نهاية المطاف، تقديم تجربة سلسة لعملائك يعد أمرًا حيويًا لنجاح أي متجر على الإنترنت. الكود المذكور يوفر حلاً لمشكلة "Woocommerce – Checkmark validation not working for proceed_to_checkout button"، وبالتالي يساعد في الحفاظ على مستوى عالٍ من الخدمة.
إذا كنت تبحث عن حلول مشابهة أو لديك استفسارات، يمكنك دائمًا الخوض في تفاصيل إضافية حول WooCommerce وتحسين متجر التجارة الإلكترونية الخاص بك.