بيع منتج معين لدولة محددة في ووردبريس وووكومرس بناءً على ID
في عالم التجارة الإلكترونية، تعتبر منصات مثل ووردبريس وووكومرس من الأدوات القوية التي تتيح لك إدارة متجرك الإلكتروني بكفاءة وسهولة. من بين الميزات التي يمكن تطبيقها على هذه المنصات هي إمكانية تحديد المنتجات التي يمكن بيعها لدول معينة بناءً على معرف المنتج. في هذا المقال، سوف نتناول كيفية بيع منتج محدد لدولة معينة في ووردبريس وووكومرس، بالإضافة إلى عرض رسالة خطأ مخصصة متوافقة مع WPML في حالة عدم إمكانية شحن المنتجات إلى الخارج.
تقييد الشراء لدول معينة في ووكومرس
يحدث أحيانًا أن تحتاج لتقييد شحن منتجات معينة لدول بعينها. يستخدم العديد من أصحاب المتاجر الإلكترونية هذه التقنية لحماية أعمالهم وضمان أن المنتجات القيمة لن تتنقل خارج الأسواق المستهدفة. من خلال استخدام شيفرة بسيطة، يمكنك تحديد أن منتجًا معينًا لا يمكن شحنه إلا إلى دولة معينة. في هذا السياق، سنقوم بإنشاء كود برمجي يتولى هذه المهمة.
الحل يعتمد على الفلترة من خلال إضافة فلتر إلى قائمة الدول المسموح بها. في الكود التالي، سنقوم بتقييد الشحن إلى أوكرانيا فقط إذا كانت المنتجات المستهدفة موجودة في سلة التسوق.
add_filter( 'woocommerce_countries_allowed_countries', 'restrict_delivery_to_ukraine_for_specific_products', 10, 1 );
function restrict_delivery_to_ukraine_for_specific_products( $countries ) {
if( is_cart() || ( is_checkout() && !is_wc_endpoint_url() ) ) {
$country_code = "UA"; // تعيين رمز الدولة لأوكرانيا
$product_ids = array(1111, 2222); // تعيين معرفات المنتجات المستهدفة
$product_found = false;
foreach( WC()->cart->get_cart() as $item ){
if( in_array( $item['product_id'], $product_ids ) ){
$product_found = true;
break;
}
}
if ( $product_found ) {
$countries = array( 'UA' => $countries['UA'] );
}
}
return $countries;
}
رسالة مخصصة للمستخدمين
لضمان تجربة مستخدمٍ أفضل، يجب علينا إضافة رسالة توضح أن بعض المنتجات لا يمكن شحنها خارج أوكرانيا. يمكننا استخدام كود إضافي لعرض رسالة تنبه المستخدمين في حالة إذا كانت منتجات معينة في سلة التسوق. إليك كيفية القيام بذلك:
add_action( 'woocommerce_after_checkout_billing_form', 'add_notice_above_country_field' );
function add_notice_above_country_field() {
$product_ids = array(1111, 2222); // تعيين معرفات المنتجات المستهدفة
$product_names = array();
$product_found = false;
foreach( WC()->cart->get_cart() as $item ){
if( in_array( $item['product_id'], $product_ids ) ){
$product_found = true;
$product = wc_get_product( $item['product_id'] );
if ( $product ) {
$product_names[] = $product->get_name();
}
}
}
if ( $product_found ) {
$product_names_list = count( $product_names ) === 1 ? $product_names[0] . '.' : implode(', ', $product_names) . '.';
$message = sprintf(
__( 'عذرًا، لا يمكن شحن هذه المنتجات خارج أوكرانيا: %s', 'your-domain' ),
esc_html( $product_names_list )
);
echo '<div class="woocommerce-info">' . $message . '</div>';
}
}
كيفية إدخال الشيفرات البرمجية
لإدخال هذه الأكواد، يجب عليك نسخها ولصقها في ملف functions.php الخاص بقالبك النشط. تأكد من إجراء نسخة احتياطية للملف قبل إجراء أي تعديلات لضمان أمان متجرك.
ختام
تساعدك التقنيات المذكورة في هذا المقال على تخصيص متجرك الإلكتروني بطريقة مثالية من خلال تقييد الشحن لدول معينة بناءً على معرفات المنتجات. من خلال تنفيذ هذه الأكواد، يمكنك التحكم بشكل أكبر في كيفية ومكان بيع منتجاتك. يمكنك أيضًا تضمين رسائل مخصصة تتماشى مع تجربة العميل، مما يعزز من ولائهم للعلامة التجارية الخاصة بك.
في ختام هذا المقال، نكون قد استعرضنا كيفية تطبيق تقييد الشحن للمنتجات المحددة لدول معينة في ووردبريس وووكومرس، مما يدعم استراتيجيات التسويق المحلية ويضمن رضا العملاء.