تم طلب مقتطف اليوم على نطاق واسع من قبل العديد من القراء والعملاء ومحبي WooCommerce. لقد رأينا بالفعل في الماضي كيفية قصر القوائم المنسدلة للولاية على ولاية واحدة فقط (لكل من الشحن والفوترة) وكيفية البيع لولاية واحدة فقط (الفوترة).
ومع ذلك ، لم نقم مطلقًا بتغطية إعداد أكثر شيوعًا: ماذا يحدث عندما يُسمح بالفوترة لكل ولاية ولكن الشحن محدود؟
من أجل الحصول على القليل من المساعدة ، تواصلت مع Diego Zanella ، عبقري WooCommerce وهو أيضًا مؤلف البرنامج الإضافي Aelia Currency Switcher لـ WooCommerce .
مقتطف PHP (1 من 2): اسمح بالشحن إلى One State @ WooCommerce Cart Shipping Calculator
/**
* @snippet Ship to One State @ WooCommerce Cart Shipping Calculator
* @how-to Get CustomizeWoo.com FREE
* @author Diego Zanella
* @compatible WooCommerce 3.6.4
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_states', 'aelia_cart_filter_US_states' );
function aelia_cart_filter_US_states( $states ) {
if ( is_cart() ) {
$states['US'] = array(
'PA' => 'Pennsylvania',
);
}
return $states;
}
WooCommerce: السماح بالشحن إلى دولة واحدة فقط في حاسبة شحن عربة التسوق
WooCommerce: السماح بالشحن إلى دولة واحدة فقط في حاسبة شحن عربة التسوق
مقتطف PHP (2 من 2): السماح بالشحن إلى صفحة تسجيل الخروج ولاية واحدة فقط @ WooCommerce
ملاحظة: لن يعمل هذا إلا إذا قمت بتقييد الشحن لدولة معينة عبر إعدادات WooCommerce. أيضًا ، قد يحد هذا المقتطف من الفوترة أيضًا – في هذه الحالة تحقق من المقتطف البديل أدناه.
/**
* @snippet Ship to One State @ WooCommerce Checkout #1
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 3.6.4
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_countries_shipping_country_states', 'bbloomer_set_checkout_shipping_state' );
function bbloomer_set_checkout_shipping_state( $states ) {
$states[ 'US' ] = array( 'PA' => __( 'Pennsylvania', 'woocommerce' ) );
return $states;
}
مقتطف بديل – في حالة فشل كل شيء آخر:
/**
* @snippet Ship to One State @ WooCommerce Checkout #2
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 3.6.4
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'wp_footer', 'aelia_checkout_shipping_filter_US_states' );
function aelia_checkout_shipping_filter_US_states() {
if ( ! is_checkout() ) {
return;
}
?>
<script>
jQuery(document).ready(function($) {
$(document.body).on('country_to_state_changed', function() {
function set_shipping_state(state) {
var $shipping_state = $('#shipping_state');
var $shipping_state_option = $('#shipping_state option[value="' + state + '"]');
var $shipping_state_option_no = $('#shipping_state option[value!="' + state + '"]');
$shipping_state_option_no.remove();
$shipping_state_option.attr('selected', true);
}
var $shipping_country = $('#shipping_country');
var new_shipping_state = '';
switch($shipping_country.val()) {
case 'US':
new_shipping_state = 'PA';
break;
}
if( ! $.isEmptyObject(new_shipping_state)) {
set_shipping_state(new_shipping_state);
}
});
});
</script>
<?php
}
WooCommerce: السماح بالشحن إلى ولاية واحدة فقط عند الخروج
WooCommerce: السماح بالشحن إلى ولاية واحدة فقط عند الخروج
المنشورات ذات الصلة:
WooCommerce: إخفاء أسعار الشحن في حالة توفر الشحن المجاني
WooCommerce: قصر الشحن على دولة واحدة فقط
WooCommerce: أضف نصًا أسفل كل صفحة متجر في كل منتج
WooCommerce: أضف إشعارات الشحن على صفحة الخروج
WooCommerce: تم فتح “الشحن إلى عنوان مختلف” افتراضيًا
WooCommerce: أضف رسوم الشحن للدول غير القارية
WooCommerce: إخفاء سعر الشحن إذا كانت فئة الشحن @ سلة التسوق
WooCommerce: أضف حقل رقم المنزل @ Checkout
WooCommerce: أسعار الشحن حسب مبلغ الطلب
WooCommerce: الشحن بالوزن (بدون مكون إضافي!)
أين تضيف هذا المقتطف؟
يمكنك وضع مقتطفات PHP في الجزء السفلي من ملف function.php القالب الفرعي الخاص بك (احذف “؟>” إذا كان لديك هناك). من ناحية أخرى ، ينتقل CSS في ملف style.css الخاص بسمة الطفل. تأكد من أنك تعرف ما تفعله عند تحرير مثل هذه الملفات – إذا كنت بحاجة إلى مزيد من الإرشادات ، فيرجى إلقاء نظرة على الفيديو التعليمي المجاني الخاص بي “أين تضع تخصيص WooCommerce؟”
هل هذا المقتطف (لا يزال) يعمل؟
يرجى إعلامي في التعليقات إذا كان كل شيء يعمل كما هو متوقع. يسعدني مراجعة المقتطف إذا أبلغت بخلاف ذلك (يرجى تقديم لقطات شاشة). لقد اختبرت هذا الكود مع موضوع Storefront وإصدار WooCommerce المذكور أعلاه واستضافة صديقة لـ وورد بريس على PHP 7.3.
إذا كنت تعتقد أن هذا الرمز وفر لك الوقت والمال ، فلا تتردد في الانضمام إلى أكثر من 14000 مشترك في WooCommerce Weekly للحصول على تحديثات منشورات المدونة أو أكثر من 250 من مؤيدي Business Bloomer لمدة 365 يومًا من مزايا WooCommerce . شكرا لكم مقدما 🙂
هل تحتاج إلى مساعدة في WooCommerce؟
تحقق من دروس الفيديو المجانية هذه. يمكنك تعلم كيفية تخصيص WooCommerce بدون مكونات إضافية غير ضرورية ، وكيفية تكوين إعدادات البرنامج المساعد WooCommerce بشكل صحيح وحتى كيفية إتقان استكشاف أخطاء WooCommerce في حالة حدوث خطأ!