با سلام خدمت دوستان عزیز
در این پست از سری آموزش کد های فروشگاه ووکامرس با قطعه کد تعریف کد پستی برای حمل و نقل کالا های فروشگاه همراه شما هستیم
در یک فروشگاه اینترنتی برای حمل و نقل کالای مشتریان دوحالت وجود دارد:
اول اینکه مشتریان در هنگام واردکردن آدرس خود کد پستی را نیز به صورت دستی وارد کنند و دوم اینکه شما از قبل کد های پستی را وارد کرده باشید و مشتریان از بین آن ها انتخاب کنند که یک حالت محدود به خود میگیرد و دیگر نمیتوانند خارج از محدوده فروش شما خرید کنند.برای اعمال این فیلتر میتوانید از قطعه کد زیر بهره ببرید:
<?php /* * Exclude certain zip codes (or post codes) from WooCommerce shipping * * @return array $available_methods */ function woo_dont_ship_zipcodes( $available_methods ) { global $woocommerce; $excluded_zips = array( '80070','80071','80072','80073','80074','80075','80076','80077','80079' ); // define postcodes to exclude here if( in_array( $woocommerce->customer->get_shipping_postcode(), $excluded_zips ) ) { // Empty the $available_methods array $available_methods = array(); } return $available_methods; } add_filter( 'woocommerce_package_rates', 'woo_dont_ship_zipcodes', 10 );
توضیح کد:
همانطور که مشاهده میکنید در قطعه کد بالا یک تابع با نام woo_dont_ship_zipcodes با آرگومان داریم که برای بازگرداندن مقادیر تعریف شده کد پستی در فروشگاه شما است.در درون این تابع ما یک ظرف داریم که از مقادیر یک آرایه که شامل تمامی کد های پستی مجاز است نگهداری میکند
شما باید درون آرایه کد های پستی مورد نظر خود را به جای اعداد آبی رنگ بنویسید.حال در ادامه با یک شرط بررسی میکند که آیا کد پستی وارد شده توسط مشتری با این مجموعه کد ها همخوانی دارد یا خیر.
در صورت همخوانی داشتن آن را بازمیگرداند و در ادامه با استفاده از یک add_filter آن را به کد اصلی اضافه میکنیم
حال باید این کد را در قسمت ویرایشگر افزونه ووکامرس قرار دهید و البته لازم به ذکر است که برای تسلط روی این قطعه کد ها باید شما به زبان PHP مسلط باشید
از همراهی شما با این قسمت نیز ممنونم
در ادامه نیز همراه من باشید و سوالات و مشکلات خود را در بخش نظرات مطرح نمائید
از همراهی شما سپاس گزارم
از افزونه woocommerce checkout manager استفاده کنید
من میخوام یه سری کد پستی جزو حمل و نقل نباشد. چکار کنم؟ خود حمل و نقل ووکامرس شامل کدپستی داره ولی غیر شامل نداره/