شرطی کردن درگاه پرداخت ووکامرس، لازمهی سایت های چندزبانه است. حتما در سایت های چندزبانه دیدهاید که مثلا وقتی وبسایت در زبان انگلیسی قرار دارد، بجای درگاههای پرداخت زرین پال و ملت، PayPal را نمایش میدهد و وقتی زبان سایت فارسی است، درگاه های پرداخت ریالی.
در این مقاله آموزشی نحوه پیاده سازی درگاه پرداخت شرطی ووکامرس را یاد میگیرید.
آنچه در این مقاله میخوانید
ووکامرس چیست
ووکامرس یکی از بهترین فروشگاه ساز وردپرس است. ووکامرس یک افزونه رایگان است و امکانات بسیار زیادی را در اختیار ما قرار میدهد تا بتوانیم فروشگاه خود را به بهترین شکل ممکن و با بالاترین امکانات راهاندازی کنیم.
آموزش ووکامرس را در لینک زیر قرار داده ایم:
درگاههای پرداخت ووکامرس
افزونه ووکامرس این امکان را برای ما به وجود آورده تا بتوانیم با روشی ساده، درگاه های پرداخت را به سایتمان اضافه کنیم تا امکان خرید اینترنتی از سایتمان وجود داشته باشد.
مثلا اگر بخواهید از سایت لردات یک محصولی را خریداری کنید، با افزودن آن به سبد خرید و رفتن به صفحه تسویه حساب میتوانید با درگاههای پرداخت، پرداخت خود را انجام دهید.
نحوه شرطی کردن درگاه پرداخت ووکامرس
همانطور که قبل تر گفتیم، شرطی کردن درگاه پرداخت ووکامرس برای سایت های چند زبانه خیلی کاربردی و مفید است و میتواند به فروش وبسایتهای چند زبانه کمک کند؛ ولی سوالی که وجود دارد این است که چگونه این کار را انجام دهیم؟
برای این کار، راه حل های زیادی وجود دارد که هر کدام میتوانند به شما برای پیاده سازی این کار کمک کنند. شما میتوانید هم این کار را با افزونه انجام دهید و هم با کدنویسی.
ما در این آموزش راه حل کدنویسی را آموزش میدهیم؛ زیرا اگر بخواهید برای چنین کار سادهای افزونه ای بر سایت خود نصب کنید قطعا سرعت سایت شما کندتر میشود و عملاً هیچ سودی ندارد.
قدم اول: ساخت تابع مورد نظر
در قدم اول از شرطی کردن درگاه پرداخت ووکامرس، ما نیاز به ساخت یک تابع داریم تا عملیات شرط گذاری و شرطی کردن را انجام دهد. برای اضافه کردن تابع، وارد فایل functions.php قالب سایتتان شوید و کد زیر را اضافه کنید. (قبل از بسته شدن PHP (علامت بسته شدن php: ؟>) )
function lerdot_custom_conditional_gateway( $available_gateways ) {
}
این تابع فعلا خالی هست و هنوز کاری را انجام نمیدهد. در قدم های بعدی محتوای تابع را وارد و آن را به ووکامرس معرفی میکنیم.
قدم دوم: معرفی تابع به ووکامرس
اکنون که یک تابع خالی ایجاد کردهایم؛ ولی آن را به ووکامرس معرفی نکردهایم که آن را بخواند و درخواست ما را انجام دهد. برای معرفی کردن تابع ساخته شده به ووکامرس، کافیست کد زیر را به ادامه کد قبلی اضافه کنید.
add_filter( 'woocommerce_available_payment_gateways', 'lerdot_custom_conditional_gateway' );
اکنون قدم دوم شرطی کردن درگاه پرداخت ووکامرس را نیز به پایان رساندیم.
قدم سوم و آخر: اضافه کردن محتوای تابع
تا الان یک تابع را در وردپرس تعریف کردیم و آن تابع را به ووکامرس معرفی کردیم. الان وقت آن رسیده تا محتوای تابع را وارد کنیم تا امکان شرطی کردن درگاه پرداخت ووکامرس برایمان فعال شود.
بایستی کد زیر را در تابع lerdot_custom_conditional_gateway() که ایجاد کردیم وارد کنید تا شرطی کردن درگاه پرداخت را انجام دهید. (قبل از قرار دادن کد بایستی افزونه WPML روی سایت شما فعال باشد.)
if(ICL_LANGUAGE_CODE == 'en'){
unset( $available_gateways['wc_zpal'] );
}
if(ICL_LANGUAGE_CODE == 'fa'){
unset( $available_gateways['paypal'] );
}
return $available_gateways;
این کد به ووکامرس اعلام میکند که اگر زبان انگلیسی بود، درگاه پرداخت PayPal اجرا شود و اگر زبان فارسی بود، درگاه پرداخت زرین پال. شما میتوانید بجای wc_zpal، از نام انگلیسی درگاه پرداخت خود استفاده کنید.
اکنون یک وبسایت با درگاه پرداخت ووکامرسی شرطی دارید.
کل کد های مورد نیاز
اگر نتوانستید تا کدها را تکه تکه به فایل functions.php قالب خود اضافه کنید، میتوانید از اینجا کپی کنید و استفاده کنید:
function lerdot_custom_conditional_gateway( $available_gateways ) {
if(ICL_LANGUAGE_CODE == 'en'){
unset( $available_gateways['wc_zpal'] );
}
if(ICL_LANGUAGE_CODE == 'fa'){
unset( $available_gateways['paypal'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'lerdot_custom_conditional_gateway' );
جمع بندی
در این آموزش، به طور ساده و آسان، شرطی کردن درگاه پرداخت ووکامرس را یاد گرفتید و میتوانید از آن در وبسایت های چند زبانه خود استفاده کنید.
اگر در حین پیاده سازی به مشکل یا سوالی بر خوردید میتوانید از بخش کامنتها (نظرات) ارسال کنید.
امیدواریم این آموزش برای شما کاربردی بوده باشد.