📋 تفکیک گزارش تغییرات (Changelog) در ۲ نسخه اخیر
پایش لحظهای تغییرات، وصلههای امنیتی و ویژگیهای اضافه شده در نسخه کنونی و نسخه پیشین از مخزن رسمی WordPress.org:
نگارش فعلی (Latest)
نسخه 10.0.4
• ترجمه کلمه shipment در تسویه حساب
• نمایش عنوان محصولات متغیر در گزارش انبار
• حذف استفاده از تابع منقضی شده wc_enqueue_js
📦 نگارش قبلی (Previous)
نسخه 10.0.3
• ترجمه کلمه shipment 1 در تسویه حساب
• حل خطای too early ترجمه ووکامرس
• حل مشکل نام خانوادگی کاربر در گزارشات برخی سایتها
• فعالسازی پیشفرض بررسی صحت تلفن همراه
📑 فهرست عناوین و سرفصلهای این مقاله:
معماری بومیسازی و هماهنگی ساختاری با اکوسیستم پرداخت ایران
هسته ووکامرس بر اساس ساختارهای تجاری غربی و استانداردهای پولی بینالمللی توسعه یافته است که با الزامات مالی، بانکی و حسابداری ایران سازگاری مستقیم ندارد. افزونه ووکامرس فارسی (persian-woocommerce) با تزریق لایههای منطقی به هسته ووکامرس، امکان تعریف واحدهای پولی ریال، تومان و تومان رسمی را فراهم میکند. این فرآیند فراتر از یک تغییر ساده در برچسبهای متنی است و مستقیماً با پایگاه داده، جداول متادیتای سفارشها و توابع محاسباتی قیمتگذاری درگیر میشود تا نرخ تبدیل ارز و اعشار واحدهای پولی به درستی مدیریت شوند.
علاوه بر ساختار مالی، مدیریت استانها، شهرها و مناطق پستی ایران یکی از چالشهای اصلی فروشگاههای اینترنتی است. این افزونه با بهروزرسانی مداوم دادههای تقسیمات کشوری، فرمهای تسویه حساب (Checkout) را با استانداردهای شرکت ملی پست همگام میسازد. این هماهنگی مانع از بروز خطاهای اعتبارسنجی در مرحله ثبت سفارش شده و به طور مستقیم نرخ رها کردن سبد خرید (Cart Abandonment) را کاهش میدهد، زیرا کاربران با ساختار آشنا و دقیق جغرافیایی مواجه میشوند.
مدیریت زمان، توابع تاریخ هجری شمسی و بهینهسازی کوئریهای دیتابیس
مدیریت زمان و تاریخ در سیستمهای تجارت الکترونیک نقش حیاتی در انبارداری، گزارشگیری مالی و اعتبار سنجی تخفیفها دارد. ووکامرس به طور پیشفرض از تاریخ میلادی و ساختار استاندارد زمان وردپرس استفاده میکند. افزونه ووکامرس فارسی با بهرهگیری از توابع تبدیل تاریخ، امکان نمایش تمامی رویدادها، تاریخهای سفارش، گزارشهای تحلیلی و مهلتهای انقضای تخفیف را به تقویم هجری شمسی تبدیل میکند. این تبدیل نیازمند پردازش دقیق در لایه نمایش است تا تداخل زمانی با سیستمهای انبارداری و حسابداری آنلاین ایجاد نشود.
از منظر بهینهسازی دیتابیس، اجرای توابع تبدیل تاریخ اگر به صورت غیربهینه پیادهسازی شود، میتواند بار سرور و زمان پاسخگویی پایگاه داده (Query Execution Time) را افزایش دهد. این افزونه با استفاده از کشکردن دادههای زمانی و قلابهای (Hooks) استاندارد وردپرس، تلاش میکند تا پردازشهای مربوط به تاریخ و ساعت کمترین تأثیر منفی را بر روی سرعت بارگذاری صفحات فروشگاه و پنل مدیریت داشته باشد. این امر بهویژه در زمان برگزاری کمپینهای تخفیف بزرگ که تعداد درخواستهای همزمان به سرور بالاست، اهمیت دوچندانی مییابد.
اصلاح حروف، ارقام فارسی و یکپارچهسازی با زیرساختهای پیامکی OTP
زبان فارسی دارای کاراکترهای خاصی مانند حروف «ک» و «ی» عربی و فارسی است که عدم یکسانسازی آنها میتواند در جستجوی پیشرفته محصولات، آدرسدهی و فاکتورهای رسمی اختلال ایجاد کند. ووکامرس فارسی با اعمال فیلترهای خودکار بر روی ورودیهای متنی و عناوین محصولات، یکپارچهسازی کاراکتری را انجام میدهد تا در خروجیهای PDF فاکتورها و خروجیهای اکسل حسابداری، نامها و ارقام به هم ریخته نمایش داده نشوند. همچنین تبدیل خودکار ارقام انگلیسی به فارسی در بخشهای عمومی سایت، تجربه کاربری یکدستی را برای مشتریان فراهم میکند.
در حوزه احراز هویت و ارتباط با مشتری، ارسال پیامکهای اعتبارسنجی (OTP) و وضعیت سفارش از ارکان اصلی امنیت و تجربه کاربری به شمار میروند. این افزونه با فراهم کردن بستر مناسب و هماهنگی با پنلهای پیامکی مختلف، امکان ارسال پیامک در مراحل گوناگون چرخه حیات سفارش را فراهم میکند. مدیران سایت میتوانند با استفاده از اکشنها و فیلترهای ارائهشده، منطق ارسال پیامک را بر اساس درگاههای پرداخت یا وضعیتهای سفارشی خاص شخصیسازی کنند، بدون اینکه نگران تاخیر در صفهای پردازش پیامک باشند.
سازگاری با هاستینگ داخلی، مسائل سئو و نقشه سایت فروشگاهی
میزبانی وبسایتهای وردپرسی در سرورهای داخل یا خارج از کشور چالشهای خاص خود را دارد. ووکامرس فارسی با در نظر گرفتن محدودیتهای زیرساختی هاستینگ ایران، سازگاری بالایی با سرورهای داخلی ایجاد میکند و از بروز خطاهای ناشی از ناسگاریهای منطق زمانی یا توابع رمزنگاری جلوگیری میکند. این هماهنگی به پایداری سرویس و کاهش قطعیهای احتمالی در ارتباط با درگاههای پرداخت بانکی مستقیم و واسط کمک شایانی میکند.
از دیدگاه بهینهسازی موتورهای جستجو (SEO)، ساختار آدرسدهی دستهبندیها، برچسبها و محصولات در زبان فارسی نیازمند دقت بالایی است تا از ایجاد محتوای تکراری (Duplicate Content) جلوگیری شود. این افزونه با پلاگینهای محبوب سئو نظیر رنک مث و یواست سئو هماهنگی کامل دارد و اطمینان حاصل میکند که ساختار دادههای ساختاریافته (Schema Markup) مربوط به محصولات، قیمتها و موجودی انبار به درستی برای موتورهای جستجو ایندکس و تفسیر شوند. این امر به بهبود رتبه صفحات محصول در کلمات کلیدی فارسی کمک شایانی میکند.
❓ سوالات متداول درباره ووکامرس فارسی (Persian WooCommerce)
پاسخ به سوالات و چالشهای فنی وبمسترها، طراحان سایت و مدیران سرور درباره افزونه ووکامرس فارسی (Persian WooCommerce) در این بخش گردآوری شده است:
پس از نصب و فعالسازی افزونه، از مسیر تنظیمات ووکامرس در بخش عمومی میتوانید واحد پول را روی تومان یا ریال تنظیم کنید. اگر در گذشته دادههایی با واحد ریال ذخیره شدهاند، افزونه ابزارهایی برای تبدیل نرخها ارائه میدهد. برای جلوگیری از خطاهای محاسباتی در درگاههای پرداخت، حتماً بررسی کنید که تنظیمات اعشار قیمتها روی عدد صفر تنظیم شده باشد تا از ارسال ارقام اعشاری نامعتبر به سمت وبسرویس بانک جلوگیری شود.
توابع تبدیل تاریخ بهینهسازی شدهاند تا فقط در لایه نمایش (Presentation Layer) و بخشهای مدیریتی مورد نیاز فعال شوند. با این حال، در وبسایتهایی که ترافیک بسیار بالایی دارند و کوئریهای سنگین گزارشگیری اجرا میکنند، پیشنهاد میشود از سیستمهای کشینگ قدرتمند (مانند Redis یا Memcached) استفاده کنید تا نتایج پردازشهای تاریخ و گزارشهای فروش به صورت موقت ذخیره شده و بار اضافی از روی دیتابیس برداشته شود.
افزونه بهطور پیشفرض فیلد شماره موبایل را اعتبارسنجی میکند تا با فرمت استاندارد ایران (شروع با 09 و طول ۱۱ رقم) مطابقت داشته باشد. برای اتصال به سیستمهای پیامکی، باید توکن یا کلید وبسرویس پنل پیامکی خود را در تنظیمات بخش پیامکهای ووکامرس فارسی وارد کنید. با استفاده از قلابهای توسعهدهنده (Hooks)، امکان تغییر متن پیامکها و افزودن شرطهای خاص بر اساس نوع درگاه یا نقش کاربر وجود دارد.
برخی قالبهای تجاری از فایلهای جایگزین (Overridden Template Files) برای صفحه تسویه حساب (checkout/form-checkout.php) استفاده میکنند که ممکن است با فیلدهای جدید استان و شهر این افزونه تداخل داشته باشند. برای حل این مسئله، باید بررسی کنید که قالب شما از ساختار استاندارد هوکهای ووکامرس پشتیبانی کند یا فیلدهای سفارشی قالب را با توابع و فیلترهای فیلد سازگارکننده ووکامرس فارسی (مانند woocommerce_checkout_fields) تطبیق دهید.