إخفاء بوابة الدفع عند الاستلام في ووردبريس بخطوة بسيطة
في عالم التجارة الإلكترونية، غالباً ما يسعى أصحاب المتاجر إلى تحسين تجربة العملاء وتحديد خيارات الدفع المتاحة بناءً على احتياجاتهم. إذا كنت تستخدم نظام ووكومرس (WooCommerce) في موقع ووردبريس الخاص بك، فقد تتساءل عن كيفية إخفاء خيار الدفع عند الاستلام (COD) لمنتجات مخصصة، مما يساعد على تسهيل عملية الشراء وتجنب العوائق. في هذا المقال، سنتحدث عن كيفية تنفيذ هذه الميزة من خلال إضافة زر مخصص على صفحة المنتج الفردي، وسنوضح كيفية إعداد الكود اللازم لتحقيق ذلك.
إضافة زر مخصص على صفحة المنتج
للبدء، سنقوم بإضافة زر مخصص يتيح للمستخدمين إمكانية تخصيص المنتج قبل إضافته إلى سلة التسوق. يمكن أن يكون ذلك مفيدًا للمستخدمين الذين يرغبون في توضيح تفاصيل إضافية حول المنتج الذي يرغبون في شرائه. يتضمن الكود المضاف حقل نصي لتحصيل تلك التفاصيل بشكل سهل، كما يلي:
function display_customize_button_and_field() {
echo '<p>' . __('إذا كنت ترغب في تخصيص المنتج، انقر هنا:', 'woocommerce') . '</p>';
echo '<button>' . __('تخصيص', 'woocommerce') . '</button>';
echo woocommerce_form_field('custom_field_name', array(
'type' => 'textarea',
'class' => array('custom-field-class form-row-wide'),
'label' => __('رسالة', 'woocommerce'),
'placeholder' => __('اكتب التفاصيل هنا', 'woocommerce'),
), '');
}
add_action('woocommerce_before_add_to_cart_button', 'display_customize_button_and_field');
باستخدام هذا الكود، يمكن للمستخدمين إدخال تفاصيل التخصيص المطلوبة لمنتجاتهم.
التحقق من صحة الحقول المخصصة
من المهم التحقق من صحة البيانات المدخلة في الحقول المخصصة قبل إضافتها إلى سلة التسوق. إليك كيفية إجراء ذلك:
function validate_custom_field($passed, $product_id, $quantity) {
if (isset($_POST['custom_field_name']) && !empty($_POST['custom_field_name']) && empty(trim($_POST['custom_field_name']))) {
wc_add_notice(__('يرجى إدخال قيمة للحقل المخصص.'), 'error');
return false;
}
return $passed;
}
add_filter('woocommerce_add_to_cart_validation', 'validate_custom_field', 10, 3);
هذا الكود يعمل على ضمان عدم ترك الحقل المخصص فارغًا قبل المضي قدمًا في عملية الشراء.
إخفاء خيار الدفع عند الاستلام (COD)
يمكننا الآن الانتقال إلى المرحلة التي نريد فيها إخفاء خيار الدفع عند الاستلام إذا كانت سلة التسوق تحتوي على عنصر مخصص. لتحقيق ذلك، سنقوم بتعديل خيارات الدفع المتاحة على صفحة الدفع مثلما يلي:
function disable_cod_for_customized_product_on_checkout($available_gateways) {
if (isset($_POST['custom_field_name']) && !empty($_POST['custom_field_name'])) {
unset($available_gateways['cod']);
}
return $available_gateways;
}
add_filter('woocommerce_available_payment_gateways', 'disable_cod_for_customized_product_on_checkout');
هذا الكود يقوم بإزالة خيار الدفع عند الاستلام فقط عندما يتضمن المنتج المخصص تفاصيل إضافية.
حفظ وعرض الحقول المخصصة
عند إضافة المنتج إلى سلة التسوق، نحتاج إلى حفظ الحقول المخصصة وعرضها عند الدفع وكذلك في الصفحة الإدارية للطلبات. إليك كود حفظ البيانات:
function save_custom_field($cart_item_data, $product_id) {
if (isset($_POST['custom_field_name']) && !empty($_POST['custom_field_name'])) {
$cart_item_data['custom_field_name'] = sanitize_textarea_field($_POST['custom_field_name']);
}
return $cart_item_data;
}
add_filter('woocommerce_add_cart_item_data', 'save_custom_field', 10, 2);
كما يمكنك عرض المعلومات في صفحة السلة وطلب البيانات لإدارة الطلبات بسهولة.
الأهداف والفوائد
يهدف هذا الأسلوب إلى تحسين تجربة المستخدم من خلال توفير خيارات تخصيص واضحة وسريعة. عند إخفاء خيار الدفع عند الاستلام للمنتجات المخصصة، نحقق التنسيق والتناسق في خيارات الدفع، مما يؤدي إلى تجربة مستخدم أفضل.
من خلال خطوات سهلة وفعّالة، يمكنك تحقيق ميزة قوية في متجرك الإلكتروني الخاص بك، مما يجعل عملية الطلب أكثر سلاسة وراحة. استخدام هذه الطريقة يسمح لك بتقديم تجربة ملائمة للمستخدمين الذين يبحثون عن منتجات مخصصة والذين يفضلون الدفع الإلكتروني بدلاً من الدفع عند الاستلام.
في النهاية، يعد تحسين طريقة الدفع وخيارات السلع جزءًا حيويًا من تطوير التجارة الإلكترونية، حيث يساعد ذلك في جذب المزيد من العملاء وتحقيق المزيد من المبيعات.