حل خطای invalid iso 4217 currency code ووکامرس
- ارسال شده در تاریخ: 03/02/2024
- نوشته شده توسط:محمد
- بازدید : 1136
اگر وبسایت فروشگاهی دارید و واحد پولی آن تومان ایران است، احتمالاً با خطای “invalid iso 4217 currency code” در کنسول جستجوی گوگل مواجه شدهاید.
این خطا به علت استفاده از واحد پولی غیراستاندارد در ساختار اطلاعاتی (Structured Data) ووکامرس بوجود میآید.
برای رفع این مشکل، میتوانید از این دو کد ساده که برای این هدف نوشته شده است، استفاده نمایید.
برنامهنویسی که انجام دادهام، این امکان را فراهم میکند که از یک ارز محلی غیراستاندارد مانند تومان استفاده کنید، بدون این که به خطای استاندارد ISO 4217 برخورد کنید. برای استفاده از این کد ، کافی است کد مربوطه را به فایل functions.php قالب وردپرس خود اضافه کنید.
اطمینان حاصل کنید که این تغییرات با تنظیمات محصولات ووکامرس شما هماهنگ است تا اطلاعات ارزی صحیح در نتایج جستجو و نمایشهای دیگر ظاهر شوند.
خطای invalid iso 4217 currency code ووکامرس
در دنیای تجارت الکترونیک، ووکامرس به عنوان یکی از پرکاربردترین و پرقدرتترین پلتفرمهای فروشگاهی شناخته میشود.
با این حال، مانند هر سیستم دیگری، کاربران ممکن است در طی استفاده خود از ووکامرس با برخی از مشکلات فنی مواجه شوند که ممکن است تجربه کاربری را مختلف کند.
یکی از خطاهایی که ممکن است برخی از کسانی که از واحد پول تومان در فروشگاه خود استفاده میکنند، با آن مواجه شوند، خطای “Invalid ISO 4217 currency code” است.
در این مقاله، ما به بررسی علت این مشکل خواهیم پرداخت و راهحلی که با استفاده از یک افزونه جدید تهیه شده است، را معرفی خواهیم کرد.
دلیل بروز این ارور
دلیل بروز ارور “Invalid ISO 4217 currency code” در ووکامرس به سبب تلاش این سیستم فروشگاهی است که واحد پول “تومان” را با کد “IRT” (Iranian Rial) به سیستمهای خارجی مانند سرچ کنسول گوگل معرفی کند.
این مشکل ناشی از این است که “تومان” به عنوان یک واحد پول رسمی در استانداردهای ISO 4217 ثبت نشده است و گوگل نمیتواند این کد را به درستی تشخیص دهد.
به همین دلیل، این اشکال خطای “Invalid ISO 4217 currency code” در سرچ کنسول گوگل ایجاد میشود.
این مسئله میتواند منجر به افت کیفیت شناسایی و رتبهبندی فروشگاه در نتایج جستجوی گوگل شود. برای حل این مشکل، میتوان از افزونههای مختلف ووکامرس یا راهکارهای دستی استفاده کرد.
راه حل من برای حل این مشکل
برای حل این مشکل میتونید در صورتی که از افزونه رنک مث استفاده میکنید از کد زیر استفاده کنید و داخل فایل فانکش خود قرار دهید.
add_filter( 'woocommerce_currency', 'atinabweb_custom_woocommerce_currency', 10, 1 ); function atinabweb_custom_woocommerce_currency( $currency ) { $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5); // Inspect the last few calls in the stack foreach ($backtrace as $trace) { // Check if any call is from the RankMath OpenGraph class if (isset($trace['class']) && strpos($trace['class'], 'RankMathWooCommerceOpengraph') !== false) { return 'IRR'; // Replace 'IRR' with your desired currency code } } return $currency; // Return the default currency otherwise}
و در صورتی که از افزونه اسکیما پرو استفاده میکنید از این کد استفاده کنید
add_filter('woocommerce_structured_data_product', 'atinabweb_custom_woocommerce_currency'); function atinabweb_custom_woocommerce_currency($markup) { // Check if the current page is a WooCommerce product if (is_product()) { // Replace 'IRR' with your desired currency code $markup['offers']['priceCurrency'] = 'IRR'; } return $markup; }
اگر از این کد ها استفاده کردین و نتیجه گرفتیند خوشحال میشویم تو بخش کامنت ها با ما و دوستان خود در میان بگزارید