نسخه جدید ووکامرس با شماره ۱۰.۰ در تاریخ ۱۴ جولای ۲۰۲۵ منتشر شده. این نوشته نگاهی میندازه به امکانات و تغییرات جدیدی که در این نسخه ارائه شده. بد نیست بدونید که آخرین نسخه پایدار در این سری، ووکامرس ۱۰.۰.۲ هست که میتونید اون رو مستقیما از سایت وردپرس دانلود کنید. این نسخه جدید با خودش اپدیتهایی برای پایگاه داده یا همون دیتابیس هم به همراه داره، پس موقع اپدیت این نکته رو در نظر داشته باشید.
از نظر فنی، این نسخه با نسخههای قبلی سازگاری داره (Backwards compatible) که این خبر خوبی برای کسانی هست که نگران به هم ریختن سایتشون بعد از اپدیت هستن. برای رسیدن به این نسخه، ۴۰۵ کامیت (Commit) یا همون ثبت تغییرات کد، توسط ۶۷ مشارکت کننده (Contributor) انجام شده. این اعداد نشون دهنده حجم کاری هست که برای توسعه این نسخه انجام شده.
در ادامه، به صورت مفصل و با جزئیات کامل، به تمام ویژگیها و تغییراتی که در نسخه ۱۰.۰ ووکامرس معرفی شده، میپردازیم. این موارد شامل بهبودهای دسترسی پذیری، لینکهای پرداخت قابل اشتراک گذاری، بهبودهای بخش کوپنها، و خیلی موارد دیگه میشه که هر کدوم رو جداگانه بررسی میکنیم.
بهبودهای چشمگیر در دسترسی پذیری بخش کاربری (Frontend Accessibility)
یکی از مهمترین و کلیدیترین تغییرات در ووکامرس ۱۰.۰، تمرکز ویژه روی بهبود دسترسی پذیری یا Accessibility بوده. این موضوع به این معنیه که تلاش شده تا افراد با تواناییهای مختلف، از جمله کسانی که از صفحه خوانها (Screen Readers) استفاده میکنن، بتونن راحتتر و بدون مشکل از فروشگاههای ساخته شده با ووکامرس استفاده کنن.
بر اساس اطلاعات منتشر شده، وقتی ووکامرس ۱۰.۰ همراه با یک قالب پیشفرض وردپرس یا یک قالب که برای دسترسی پذیری اماده شده (accessibility-ready theme) استفاده بشه، به طور کامل با استانداردهای راهنمای دسترسی به محتوای وب (WCAG) 2.2 در سطح AA مطابقت خواهد داشت. این یعنی فروشگاه شما از نظر قانونی و استانداردهای جهانی در وضعیت بسیار خوبی قرار میگیره. علاوه بر این، این نسخه تا حد زیادی با سطح AAA که سطح بالاتری از استانداردهاست، همخوانی داره. رسیدن به این سطح از انطباق، یک قدم بزرگ برای ووکامرس به حساب میاد.
این بهبودها حاصل تلاشهای زیادی در قالب چندین درخواست تغییر (PR) بوده و جنبههای مختلفی رو پوشش میده. در ادامه به صورت جزئیتر به این بهبودها نگاه میکنیم:
- بازنگری کامل در نشانه گذاری معنایی (Semantic Markup): ساختار کدهای HTML به شکلی بازنویسی شده که برای صفحه خوانها قابل فهمتر باشه. این دستگاهها حالا میتونن محتوای صفحه، مثل محصولات، دکمهها و فرمها رو بهتر تفسیر کنن و اطلاعات دقیقتری رو به کاربر منتقل کنن. این تغییر به ظاهر کوچیک، تجربه کاربری افراد نابینا یا کم بینا رو به شکل قابل توجهی بهتر میکنه.
- بازخورد قوی در فرمها و مدیریت خطا: در نسخه جدید، وقتی کاربر در حال پر کردن فرمی مثل فرم پرداخت یا ثبت نام هست، بازخوردهای واضحتری دریافت میکنه. اگه خطایی رخ بده، مثلا یک فیلد به اشتباه پر بشه، پیامهای وضعیت (Status Messages) و شناسایی خطا (Error Identification) به شکل روشنی نمایش داده میشن. این کار باعث میشه کاربر سریع متوجه مشکل بشه و اون رو اصلاح کنه، بدون اینکه سردرگم بشه.
- بهبود ناوبری با کیبورد و مدیریت فوکوس: یکی دیگه از جنبههای مهم دسترسی پذیری، امکان استفاده کامل از سایت فقط با کیبورده. در ووکامرس ۱۰.۰، ناوبری با کیبورد (Keyboard-first navigation) و مدیریت فوکوس (Focus Management) در تمام بخشهای کلیدی که بر پایه بلاکها ساخته شدن، مثل سبد خرید، گالری محصولات و صفحه پرداخت، به شکل قابل توجهی بهتر شده. حالا کاربران میتونن به راحتی با کلید Tab بین المانهای مختلف حرکت کنن و بدون نیاز به موس، خریدشون رو تکمیل کنن.
برای کسانی که علاقهمند به دونستن جزئیات فنی بیشتری در مورد این تغییرات هستن، یک پست وبلاگی با عنوان «یک سال بهبود دسترسی پذیری در هسته ووکامرس» منتشر شده که به طور کامل این روند رو توضیح داده. این بهبودها نه تنها یک ویژگی جدید، بلکه یک سرمایه گذاری بلندمدت روی فراگیرتر کردن تجارت الکترونیک برای همه محسوب میشه.
قابلیت جدید: لینکهای پرداخت قابل اشتراک گذاری (Shareable Checkout URLs)
یکی از ویژگیهای کاربردی و هیجان انگیزی که در نسخه ۱۰.۰ ووکامرس معرفی شده، امکان ساخت لینکهای پرداخت قابل اشتراک گذاریه. این قابلیت که در درخواست شماره #58140 پیاده سازی شده، به مدیران فروشگاه اجازه میده لینکهای سفارشی بسازن که به طور خودکار سبد خرید مشتری رو با محصولات و حتی متغیرهای محصول خاصی پر میکنن و مستقیم اونها رو به صفحه پرداخت هدایت میکنن.
این ویژگی میتونه تحول بزرگی در کمپینهای بازاریابی و فروش ایجاد کنه. تصور کنید میخواید یک بسته پیشنهادی (Bundle) رو از طریق ایمیل، شبکههای اجتماعی یا یک صفحه فرود (Landing Page) به فروش برسونید. به جای اینکه از مشتری بخواید چند محصول رو جداگانه پیدا و به سبد خرید اضافه کنه، میتونید یک لینک واحد بهش بدید که با یک کلیک، تمام محصولات مورد نظر با تعداد مشخص و حتی یک کد تخفیف از پیش اعمال شده، در سبد خریدش قرار بگیره و آماده پرداخت باشه.
چطور کار میکنه؟
برای درک بهتر، به این مثال از یک لینک قابل اشتراک گذاری توجه کنید:
https://yourstore.com/checkout-link/?products=123:2,456:1&coupon=SPRING10
بیاید این لینک رو با هم تحلیل کنیم:
https://yourstore.com/checkout-link/
: این بخش اصلی لینک شماست که به صفحه پرداخت فروشگاه اشاره داره.?products=123:2,456:1
: این قسمت مهمترین بخش لینکه.123:2
یعنی محصولی با شناسه (ID)123
به تعداد ۲ عدد به سبد خرید اضافه بشه.456:1
یعنی محصولی با شناسه (ID)456
به تعداد ۱ عدد به سبد خرید اضافه بشه.&coupon=SPRING10
: این بخش هم یک کوپن تخفیف با کدSPRING10
رو به طور خودکار روی سبد خرید اعمال میکنه.
در نهایت، وقتی مشتری روی این لینک کلیک میکنه، بدون هیچ مرحله اضافی، مستقیما به صفحه پرداخت منتقل میشه در حالی که سبد خریدش دقیقا همون چیزیه که شما میخواستید.
مزایای این ویژگی
این قابلیت هم برای فروشندهها و هم برای مشتریان مزایای مشخصی داره:
- برای فروشندگان (Merchants):
- افزایش نرخ تبدیل (Conversion): با کم کردن مراحل خرید و حذف مراحل اضافی مثل پیدا کردن محصول و اضافه کردن به سبد، احتمال اینکه مشتری خرید رو نهایی کنه خیلی بیشتر میشه.
- کمپینهای هدفمند: امکان ایجاد پیشنهادهای ویژه و بستههای اختصاصی برای کمپینهای مختلف و اشتراک گذاری اونها به سادگی فراهم میشه.
- برای مشتریان (Customers):
- تجربه خرید سریع و ساده: مشتری دیگه نیازی به گشتن در سایت و انجام کارهای تکراری نداره. با یک کلیک به مرحله نهایی میرسه.
- کاهش سردرگمی: همه چیز از قبل براش اماده شده و فقط باید اطلاعات پرداخت رو وارد کنه.
این ویژگی جدید ابزار قدرتمندی رو در اختیار مدیران فروشگاه قرار میده تا فرایند فروش رو بهینهتر و جذابتر کنن.
بهبودهای کاربردی در بخش کوپنها (Coupon Improvements)
در نسخه ۱۰.۰ ووکامرس، توجه ویژهای به بخش مدیریت کوپنها شده و چندین مشکل قدیمی که هم در بخش مدیریت (Admin) و هم در نحوه محاسبه تخفیفها در سبد خرید وجود داشت، برطرف شده. این تغییرات که در قالب چند درخواست مختلف با شمارههای #57911، #57942، #57946 و #58013 اعمال شدن، تجربه کار با کوپنها رو هم برای مدیران فروشگاه و هم برای مشتریان بهتر میکنن.
۱. نمایش خطاهای مدیریتی هنگام ذخیره کوپن نامعتبر
یکی از مشکلات قدیمی این بود که اگه مدیر فروشگاه هنگام ایجاد یا ویرایش یک کوپن، اطلاعات نامعتبری وارد میکرد و دکمه ذخیره رو میزد، سیستم خطای واضحی نشون نمیداد. این موضوع باعث سردرگمی میشد چون مدیر نمیدونست دقیقا مشکل از کجاست و کدوم مقادیر ذخیره نشدن.
با بهبود انجام شده در #57911، حالا اگه پیکربندی کوپن نامعتبر باشه، پیامهای خطا به صورت واضح و مشخص نمایش داده میشن. این پیامها دقیقا به مدیر میگن که چه چیزی باید اصلاح بشه. این تغییر کوچیک، فرایند مدیریت کوپنها رو خیلی سادهتر و سریعتر میکنه.
۲. اعتبارسنجی برای فیلدهای حداقل و حداکثر هزینه
در بخش محدودیتهای استفاده از کوپن، دو فیلد «حداقل هزینه» (Minimum spend) و «حداکثر هزینه» (Maximum spend) وجود داره. قبلا امکان داشت که مدیر فروشگاه به اشتباه، مقدار «حداکثر هزینه» رو کمتر از «حداقل هزینه» وارد کنه و سیستم هم این مقدار رو ذخیره میکرد که منطقی نبود.
در تغییر اعمال شده با شماره #57942، یک قانون اعتبارسنجی جدید اضافه شده. بر اساس این قانون، اگه مقدار فیلد Maximum spend کمتر از فیلد Minimum spend باشه، کوپن ذخیره نمیشه و یک پیام خطا به مدیر نمایش داده میشه تا این مشکل رو اصلاح کنه.
۳. قابل ترجمه شدن متن جایگزین تاریخ انقضای کوپن
برای فروشگاههای چند زبانه، مهمه که تمام بخشهای پنل مدیریت به زبان محلی قابل نمایش باشن. قبلا، متن جایگزین (placeholder) فیلد «تاریخ انقضای کوپن» (Coupon expiry date) قابل ترجمه نبود.
با تغییر اعمال شده در #57946، این متن حالا قابل ترجمه (translatable) شده. این به مدیران فروشگاه در سراسر دنیا کمک میکنه تا تمام تنظیمات کوپن رو به زبان خودشون پیکربندی کنن.
۴. اصلاح نحوه محاسبه تخفیف برای آیتمهای محدود
یک مشکل پیچیده در نحوه محاسبه تخفیف کوپنهایی وجود داشت که فقط روی تعداد محدودی از محصولات اعمال میشدن. قبلا، وقتی مشتری محصولات بیشتری به سبد خرید اضافه میکرد، گاهی اوقات مقدار تخفیف کوپن کاهش پیدا میکرد. این به این دلیل بود که سیستم برای اولویت بندی تخفیف، به جای قیمت واحد محصول، قیمت کل (subtotal) رو در نظر میگرفت.
در بهبود اعمال شده با شماره #58013، این منطق اصلاح شده. حالا سیستم برای اعمال تخفیف، قیمت واحد محصولات (unit price) رو بررسی میکنه و تخفیف رو ابتدا روی گرانترین آیتمها اعمال میکنه، حتی اگه تعداد محصولات در سبد خرید متفاوت باشه. این کار تضمین میکنه که با ارزشترین آیتمها اول تخفیف رو دریافت میکنن و مشکل کاهش تخفیف با اضافه شدن محصولات بیشتر به سبد خرید، حل شده.
این مجموعه از بهبودها، کارایی و دقت سیستم کوپن در ووکامرس رو به شکل قابل توجهی افزایش داده.
ایمپورت کننده محصولات CSV حالا از محتوای غنی (Rich Content) پشتیبانی میکنه
یکی از ابزارهای بسیار کاربردی برای مدیران فروشگاه، به خصوص اونهایی که تعداد محصولات زیادی دارن یا از پلتفرم دیگهای به ووکامرس مهاجرت میکنن، ایمپورت کننده محصولات از طریق فایل CSV هست. اما این ابزار یک محدودیت بزرگ داشت: در نسخههای قبلی، امکان وارد کردن فایلهای CSV که در ستون توضیحات محصول حاوی محتوای HTML بودن (مثل متنهای فرمت بندی شده، جداول، لیستها و غیره) وجود نداشت.
این محدودیت کاربران رو با چالشهای زیادی روبرو میکرد. اونها مجبور بودن قبل از ایمپورت، تمام کدهای HTML رو به صورت دستی از توضیحات محصولات حذف کنن که کاری بسیار زمانبر و خسته کننده بود. راه حل دیگه، استفاده از روشهای ناامن مثل غیرفعال کردن بررسی MIME برای کل سایت بود که یک ریسک امنیتی بزرگ محسوب میشد.
راه حل در ووکامرس ۱۰.۰
با تغییری که در درخواست شماره #58016 اعمال شده، این مشکل به طور کامل حل شده. ایمپورت کننده CSV در نسخه جدید، حالا میتونه فایلهایی که حاوی محتوای HTML هستن رو به درستی پردازش کنه.
این یعنی چی؟ یعنی حالا شما میتونید یک فایل CSV داشته باشید که در ستون توضیحات محصول، از تگهای HTML برای بولد کردن متن، ایجاد پاراگراف، ساختن لیستهای شمارهدار یا حتی قرار دادن جداول
پیچیده استفاده کرده باشید. وقتی این فایل رو ایمپورت میکنید، ووکامرس تمام این فرمت بندیها رو حفظ میکنه و توضیحات محصول در فروشگاه شما دقیقا همونطور که میخواستید نمایش داده میشه.
حفظ امنیت
نکته مهم اینه که این قابلیت جدید، امنیت سایت رو به خطر نمیندازه. ایمپورت کننده پیشرفته همچنان استانداردهای امنیتی رو برای جلوگیری از ورود کدهای مخرب رعایت میکنه و فقط به کدهای HTML استاندارد و بیخطر اجازه ورود میده. پس دیگه نیازی به استفاده از راه حلهای ناامن قبلی نیست.
این بهبود، فرایند بهروزرسانیهای انبوه (bulk updates) و مهاجرت از پلتفرمهای دیگه رو بسیار سادهتر و کارآمدتر از قبل میکنه و در زمان مدیران فروشگاه صرفهجویی قابل توجهی به همراه داره.
سایر ویژگیها و بهروزرسانیهای جدید
علاوه بر تغییرات بزرگی که تا اینجا بررسی کردیم، ووکامرس ۱۰.۰ شامل چندین ویژگی و بهبود جدید دیگه هم هست که تجربه کار با این پلتفرم رو هم برای مدیران فروشگاه و هم برای مشتریان بهتر میکنه. در ادامه به این موارد میپردازیم.
سفارشی سازی متن نشان «حراج» برای بلاکها (Customize sale badge text for blocks)
در فروشگاههای ووکامرس، محصولاتی که در حراج هستن یک نشان «Sale!» یا «حراج!» دارن. قبلا، تغییر این متن به سادگی امکان پذیر نبود، به خصوص در طرحبندیهای مبتنی بر بلاک.
با تغییری که در درخواست شماره #57914 اعمال شده، یک فیلتر جدید به نام woocommerce_sale_badge_text
اضافه شده. این فیلتر به توسعه دهندگان اجازه میده تا کنترل کاملی روی متن نشان حراج که روی محصولات در طرحبندیهای مبتنی بر بلاک نمایش داده میشه، داشته باشن.
این فیلتر فقط در بخش کاربری سایت (frontend) کار میکنه و آبجکت کامل محصول رو دریافت میکنه. این یعنی میشه متن نشان رو به صورت پویا و بر اساس اطلاعات محصول تغییر داد. برای مثال، میشه برای دستهبندیهای مختلف یا انواع محصولات مختلف، پیامهای متفاوتی نمایش داد. مثلا برای یک دسته بندی خاص، به جای «حراج»، متن «پیشنهاد ویژه» رو نشون داد.
نشانگرهای بارگذاری هوشمند در بلاک پرداخت (Intelligent Checkout Block loading indicators)
تجربه کاربری در صفحه پرداخت خیلی مهمه. هر مکث یا بارگذاری اضافی میتونه باعث بشه مشتری از خرید منصرف بشه. قبلا در بلاک پرداخت (Checkout Block)، هر تغییری در فیلدهای آدرس، حتی تغییر نام یا شماره تلفن، باعث میشد نشانگرهای بارگذاری گزینههای حمل و نقل نمایش داده بشن، در حالی که این فیلدها تاثیری روی هزینه حمل و نقل ندارن.
در بهبود اعمال شده با شماره #57374، بلاک پرداخت بهینه سازی شده. حالا نشانگرهای بارگذاری گزینههای حمل و نقل فقط زمانی نمایش داده میشن که فیلدهایی که واقعا روی محاسبه هزینه حمل و نقل تاثیر دارن، تغییر کنن.
این فیلدهای ضروری عبارتند از: کشور (country)
، استان (state)
، کد پستی (postal code)
یا شهر (city)
. تغییر در سایر فیلدها مثل نام، خطوط آدرس، نام شرکت یا شماره تلفن، دیگه باعث بهروزرسانی غیرضروری گزینههای حمل و نقل نمیشه. این تغییر باعث میشه خریداران انیمیشنهای بارگذاری کمتری ببینن و وقتی آدرسشون رو ویرایش میکنن، صفحه پرداخت سریعتر و روانتر به نظر برسه.
ادغام تنظیمات پرداخت در فرایند «فروشگاه خود را راه اندازی کنید»
راه اندازی یک فروشگاه جدید میتونه برای کاربران تازه کار کمی پیچیده باشه. یکی از مهمترین مراحل، تنظیم درگاههای پرداخته. در نسخه ۹.۹ ووکامرس، تجربه راه اندازی بومی WooPayments معرفی شد که موفقیت آمیز بود.
حالا در نسخه ۱۰.۰ و با تغییر اعمال شده در #58291، این قابلیت گسترش پیدا کرده و تنظیمات پرداخت با فرایند «فروشگاه خود را راه اندازی کنید» (Launch Your Store) ادغام شده. هدف اینه که به کاربران کمک بشه فروشگاهشون رو به طور کامل راه اندازی کنن و برای شروع فروش با ووکامرس آماده بشن.
با این ادغام، کاربران تمام ابزارهای لازم رو برای فعال کردن فروشگاهشون و شروع به پردازش پرداختهای واقعی در اختیار دارن، بدون اینکه نیاز باشه به بخشهای دیگه پنل مدیریت ووکامرس مراجعه کنن. کاربران میتونن به طور کامل در WooPayments ثبت نام کنن یا به حالت پردازش پرداختهای واقعی سوییچ کنن، همه این کارها مستقیما از داخل صفحات راهنمای Launch Your Store قابل انجامه. این کار فرایند راه اندازی رو برای کاربران جدید بسیار سادهتر و یکپارچهتر میکنه.
نگاه اولیه به ویژگیهای آزمایشی (First Looks)
ووکامرس ۱۰.۰ دو بلاک جدید و مهم رو در حالت بتا (آزمایشی) معرفی کرده. این بلاکها در آینده نقش مهمی در سفارشی سازی صفحات محصول ایفا خواهند کرد. در ادامه با این دو ویژگی جدید آشنا میشیم.
بلاک «افزودن به سبد خرید + گزینهها» (Add to Cart + Options – Beta)
با حذف فلگهای ویژگی در درخواست شماره #58602، حالا بلاک «افزودن به سبد خرید + گزینهها» در حالت بتا برای تمام قالبهای مبتنی بر بلاک در دسترسه. این بلاک جدید برای استفاده در صفحه «تک محصول» (Single Product) یا داخل بلاک «تک محصول» طراحی شده.
هدف اصلی این بلاک، دادن قدرت سفارشی سازی فرم افزودن به سبد خرید به مدیران فروشگاهه. با استفاده از این بلاک، شما میتونید:
- اجزای داخلی فرم رو مجددا سازماندهی کنید: مثلا جای دکمه افزودن به سبد و انتخاب تعداد رو عوض کنید.
- بلاکهای داخلی رو حذف یا اضافه کنید: اجزای غیر ضروری رو حذف کنید یا المانهای جدیدی اضافه کنید.
- استایلها رو تنظیم کنید: رنگ، اندازه و ظاهر هر بخش از فرم رو مطابق با طراحی سایتتون تغییر بدید.
یک نکته بسیار مهم اینه که این تغییرات به ازای هر نوع محصول (per product type) اعمال میشه. این یعنی شما میتونید فرم افزودن به سبد خرید برای محصولات متغیر (variable products) یا محصولات گروهی (grouped products) رو به شکل پیچیدهای سفارشی سازی کنید، بدون اینکه این تغییرات روی فرم محصولات ساده تاثیر بذاره.
علاوه بر گزینههای سفارشی سازی، این بلاک تجربه افزودن محصول به سبد خرید رو برای خریداران هم بهتر میکنه:
- ساخته شده بر پایه Interactivity API: این تکنولوژی به کاربران اجازه میده محصولات رو به سبد خرید اضافه کنن بدون اینکه صفحه دوباره بارگذاری (reload) بشه. این باعث میشه تجربه خرید خیلی سریعتر و روانتر باشه.
- همگام سازی زنده با سایر بلاکها: تغییر در تعداد محصول از بلاک «سبد خرید کوچک» (Mini-Cart) یا «مجموعه محصولات» (Product Collection) به صورت آنی در بلاک «افزودن به سبد خرید + گزینهها» هم منعکس میشه و برعکس. همه اینها بدون نیاز به رفرش کردن صفحه اتفاق میفته.
- حالت نمایش جدید «Pills» برای ویژگیهای متغیر: به جای منوهای کشویی (dropdowns) سنتی برای انتخاب ویژگیهای محصول متغیر (مثل رنگ یا سایز)، حالا یک حالت نمایش جدید به اسم Pills وجود داره که انتخاب رو برای کاربر جذابتر و شهودیتر میکنه.
توسعه دهندگان افزونهها تشویق شدن که افزونههای خودشون رو با این بلاک جدید تست کنن. در آینده، نقاط توسعه پذیری (extensibility points) جدیدی معرفی خواهد شد تا افزونهها بتونن به سمت بلاکها مهاجرت کنن و از تکنولوژیهای جدید این بلاک بهتر استفاده کنن.
بلاک «گالری محصول» (Product Gallery – Beta)
در راستای دادن کنترل بیشتر روی تصاویر، ساختار بلاک گالری محصول در درخواست شماره #58651 تغییر کرده و حالا از «تصویر محصول» (Product Image) برای نمایش تصاویر استفاده میکنه.
نکته بسیار مهم: این یک تغییر شکننده (breaking change) است. این تغییر برای آیندهنگر کردن بلاک ضروری بوده و تیم توسعه دهنده میخواسته قبل از پایدار شدن بلاک، این تغییر رو اعمال کنه.
اقدام لازم برای کاربران: کاربرانی که قبل از ووکامرس ۱۰.۰ از بلاک «گالری محصول (بتا)» استفاده کردن، باید به ویرایشگر (Editor) جایی که از این بلاک استفاده کردن برن، بلاک رو حذف کنن و دوباره اون رو وارد کنن (reinsert).
برای اینکه کاربران فرصت کافی برای این کار داشته باشن، یک دوره مهلت (grace period) دو نسخهای (تا ووکامرس ۱۰.۲) در نظر گرفته شده. در این مدت، بلاک حتی بدون وارد کردن مجدد هم کار میکنه. اما تیم توسعه قصد داره در ووکامرس ۱۰.۲ پل سازگاری (compatibility bridge) رو حذف کنه و اگه این کار انجام نشده باشه، بلاک در بخش کاربری سایت دچار مشکل خواهد شد. پس حتما این کار رو در سایتهایی که از این بلاک استفاده کردن، انجام بدید.
سایر اطلاعات مهم فنی
در این بخش به چند تغییر فنی مهم دیگه در ووکامرس ۱۰.۰ میپردازیم که بیشتر برای توسعه دهندگان و مدیران فنی سایت اهمیت داره. این تغییرات به بهبود عملکرد و قابلیت نگهداری کد کمک میکنن.
استفاده از CSS Container Queries برای بلاکهای سبد خرید و پرداخت
یکی از چالشهای طراحی واکنشگرا (Responsive Design) اینه که استایل یک المان بر اساس عرض والد (parent) خودش تغییر کنه، نه فقط بر اساس عرض کل صفحه. قبلا برای این کار در بلاکهای سبد خرید و پرداخت، از کلاسهایی مثل .is-large
استفاده میشد که بعد از بارگذاری DOM با جاوا اسکریپت به صفحه اضافه میشدن. این روش میتونست باعث پرشهای طرحبندی (layout shifts) و کثیف شدن کد بشه.
با تغییری که در درخواست شماره #58476 اعمال شده، توسعه دهندگان حالا میتونن از CSS Container Queries (@container
) استفاده کنن. این ویژگی مدرن CSS به اونها اجازه میده تا استایل کامپوننتهای فرزند رو بر اساس عرض کامپوننت والدشون تنظیم کنن. این کار نیاز به کلاسهای جاوا اسکریپتی رو از بین میبره و باعث میشه استایلها تمیزتر باشن و پرشهای طرحبندی کمتری اتفاق بیفته.
نکته مهم برای سازگاری اینه که کلاسهای قدیمی همچنان برای حفظ سازگاری (compatibility) باقی موندن، اما توصیه میشه که توسعه دهندگان برای پروژههای جدید از رویکرد جدید Container Queries استفاده کنن. برای اطلاعات و دستورالعملهای کاملتر، یک راهنمای توسعه دهنده منتشر شده.
ساده سازی بخش مجموع سبد خرید در بلاک سبد خرید (Simplified Cart Block Totals)
صفحه سبد خرید باید تا حد امکان ساده و سرراست باشه تا مشتری رو به سمت مرحله بعدی، یعنی پرداخت، هدایت کنه. در نسخههای قبلی، در بلاک سبد خرید یک ماشین حساب حمل و نقل وجود داشت که میتونست باعث پیچیدگی و سردرگمی بشه.
با تغییری که در درخواست شماره #58066 اعمال شده، پیچیدگی بخش مجموع سبد خرید (Cart Block totals) کاهش پیدا کرده. این کار از طریق حذف ماشین حساب حمل و نقل، بهبود متنها و پنهان کردن مقادیر تکراری انجام شده.
منطق جدید اینه که مشتریان هزینه حمل و نقل رو در حین پرداخت و بعد از اینکه آدرسشون رو وارد کردن، محاسبه میکنن. یا اگه امکانش باشه، میتونن گزینه «دریافت حضوری» (Local Pickup) رو انتخاب کنن. هدف اصلی این تغییر اینه که مشتریان رو به سمت صفحه پرداخت سوق بده به جای اینکه در صفحه سبد خرید فرم پر کنن. این کار همچنین پیچیدگیهای مربوط به نمایش همزمان نرخهای دریافت حضوری (که نیازی به آدرس نداره) و نرخهای حمل و نقل (که به آدرس نیاز داره) رو در صفحه سبد خرید از بین میبره.
مشتریان همچنان میتونن کوپنهای تخفیف رو در صفحه سبد خرید اعمال کنن، یا اگه یک مشتری بازگشتی باشن و قبلا آدرسشون رو وارد کرده باشن، نرخ حمل و نقل انتخاب شدهشون رو ببینن.
این تغییر برای گروههای مختلف مزایایی داره:
- توسعه دهندگان (Developers): با نقاط ادغام کمتری سر و کار دارن چون نرخهای حمل و نقل فقط در صفحه پرداخت نمایش داده میشه. کد کمتری برای نگهداری وجود داره و باگهای مربوط به موارد خاص (edge cases) که به خاطر سیستم دریافت حضوری و ورود آدرس ناقص پیش میومد، کمتر میشه.
- فروشندگان (Merchants): میتونن انتظار داشته باشن که مشکلات مربوط به نمایش نرخهای نادرست در صفحه سبد خرید به دلیل ورود آدرس ناقص یا نادرست در ماشین حساب حمل و نقل، کمتر بشه.
- مشتریان (Customers): از یک جریان خرید سادهتر و بدون فرمهای غیر ضروری لذت میبرن. همچنین سردرگمی کمتری در مورد اینکه چرا نرخ دریافت حضوری نمایش داده میشه ولی نرخ حمل و نقل نه، به وجود میاد، چون نرخ حمل و نقل بعد از وارد کردن آدرس نشون داده میشه.
بهروزرسانیهای پایگاه داده (Database Updates)
همونطور که در ابتدا اشاره شد، نسخه ۱۰.۰ ووکامرس شامل بهروزرسانیهایی برای پایگاه داده است. این بهروزرسانیها به صورت خودکار با اپدیت پلاگین اجرا میشن. دو اپدیت اصلی در این نسخه عبارتند از:
wc_update_1000_multisite_visibility_setting
(PR #58613)wc_update_1000_remove_patterns_toolkit_transient
(PR #58528)
این اپدیتها برای بهبود عملکرد و سازگاری در ساختارهای خاص مثل شبکههای چندسایتی (multisite) و حذف دادههای موقت (transient) غیر ضروری طراحی شدن.
انتشار نسخههای اصلاحی ۱۰.۰.۱ و ۱۰.۰.۲
پس از انتشار نسخه اصلی ۱۰.۰، تیم ووکامرس دو نسخه اصلاحی (Dot Release) با شمارههای ۱۰.۰.۱ و ۱۰.۰.۲ رو هم منتشر کرد. هدف از این نسخهها، برطرف کردن سریع مشکلاتی بود که بعد از انتشار نسخه اصلی در چرخه 10.0.x شناسایی شدن.
بر اساس اطلاعات منتشر شده، ووکامرس ۱۰.۰.۲ به عنوان اولین نسخه پایدار (stable release) از سری 10.0.x در نظر گرفته میشه. این نسخه در تاریخ ۱۴ جولای ۲۰۲۵ منتشر شده.
در ادامه به جزئیات اصلاحاتی که در هر یک از این نسخهها ارائه شده، میپردازیم.
تغییرات در نسخه 10.0.1
در این نسخه یک مشکل مهم برطرف شد:
- اصلاح خطای strict types در کنترل کننده نشست (session handler) (#59479)
- شرح مشکل: این مشکل به یک کامیت قبلی برمیگشت که برای راضی کردن ابزار
phpcs
(یک ابزار بررسی استاندارد کدنویسی)، تعریفstrict_types
رو به کد اضافه کرده بود. اما مشخص شد که در شرایط خاصی (مثل استفاده از نسخههای جدیدتر PHP یا زمانی که چیزی از تابعwp_nonce_url
با مقدار پیشفرض ۱- استفاده میکرد)، این تعریف نوع سختگیرانه باعث یک خطای مرگبار (fatal error) میشد که میتونست سایت رو از کار بندازه. - راه حل: در این PR، اون کامیت قبلی برگردانده شد (revert) تا این مشکل برطرف بشه.
تغییرات در نسخه 10.0.2
این نسخه هم شامل اصلاحات مهمی برای پایداری بیشتر بود:
- بازگرداندن رفتار قبلی
init_session_cookie
برای جلوگیری از تداخل با کلاسهایی کهWC_Session_Handler
رو گسترش میدن (#59530) - شرح مشکل: دو تغییر جداگانه در کنترل کننده نشست (session handler) اصلی ووکامرس، باعث ایجاد دو تداخل با نحوه بازنویسی این کنترل کننده توسط افزونه WooCommerce Payments شده بود. علاوه بر این، بعضی از فراخوانیها به تابع
CartTokenUtils::get_cart_token
که انتظار دریافت یک رشته متنی (string) رو داشت، به اندازه کافی مقاوم سازی نشده بودن. - راه حل: این اصلاحیه، تداخلات با کنترل کننده نشست WooCommerce Payments رو برطرف میکنه و فراخوانیهای مربوط به
get_cart_token
رو مقاومتر میکنه تا از بروز خطا جلوگیری بشه.
این نسخههای اصلاحی نشون میده که تیم توسعه به سرعت به گزارشهای کاربران واکنش نشون داده و برای پایدار کردن نسخه جدید تلاش کرده. توصیه میشه که کاربران همیشه از آخرین نسخه پایدار، یعنی ۱۰.۰.۲، استفاده کنن.
بازخوردها و پرسش و پاسخهای جامعه کاربری
بعد از انتشار هر نسخه جدیدی از ووکامرس، جامعه کاربری شامل توسعه دهندگان، مدیران فروشگاه و کاربران عادی شروع به بررسی و استفاده از ویژگیهای جدید میکنن و بازخوردها و سوالاتشون رو در بخش نظرات وبلاگ رسمی ووکامرس و انجمنهای دیگه به اشتراک میذارن. این تعاملات میتونه دید خوبی نسبت به نحوه دریافت این تغییرات توسط کاربران و مشکلات احتمالی که با اونها روبرو شدن، به ما بده. در ادامه، مروری بر برخی از مهمترین پرسش و پاسخهایی که در مورد نسخه ۱۰.۰ و نسخههای اصلاحی اون مطرح شده، خواهیم داشت.
سوال در مورد قالب جدید Woo Theme
یکی از سوالات پرتکرار که توسط چندین کاربر از جمله کاربری به نام nam در تاریخهای ۱۴ و ۱۵ جولای ۲۰۲۵ و همچنین کاربری به نام Andrew در ۱۵ جولای ۲۰۲۵ مطرح شد، در مورد قالب جدید ووکامرس (Woo Theme) بود. این کاربران انتظار داشتن که این قالب همزمان با ووکامرس ۱۰.۰ منتشر بشه.
- پاسخ تیم ووکامرس: Brian Coords، از اعضای تیم، در پاسخ به این کاربران توضیح داد که جدول زمانی انتشار قالب جدید وو تغییر کرده و جزئیات بیشتر در یک پست وبلاگ جداگانه با عنوان «ما برای آماده کردن قالب بلاک وو برای شما چه کارهایی انجام میدهیم؟» در دسترس قرار گرفته. این نشون میده که انتشار قالب به زمان بیشتری نیاز داره و از انتشار نسخه ۱۰.۰ جدا شده.
ابهام در مورد لینکهای پرداخت قابل اشتراک گذاری
کاربری به نام HOSEIN در تاریخ ۱۴ جولای ۲۰۲۵ سوالی در مورد نحوه کارکرد ویژگی «لینکهای پرداخت قابل اشتراک گذاری» مطرح کرد. او پرسید که آیا این لینکها باید به صورت دستی ساخته بشن؟ تصور او این بود که در بخش مدیریت سفارشات، امکانی برای ایجاد یک سفارش برای کاربر و ارسال لینک پرداخت به او وجود خواهد داشت.
- پاسخ تیم ووکامرس: Brian Coords در پاسخ تایید کرد که در حال حاضر، این لینکها باید به صورت دستی ساخته بشن و هیچ صفحه یا رابط کاربری در پنل مدیریت برای ساختن اونها وجود نداره. او همچنین برای نیازمندی خاص کاربر (ارسال لینک پرداخت برای یک سفارش مشخص)، به مستندات مربوط به صفحه پرداخت مشتری لینک داد.
گزارش یک تغییر شکننده (Breaking Change) مهم
کاربری به نام Marc در ۱۵ جولای ۲۰۲۵ یک نکته بسیار مهم رو گزارش کرد. او اشاره کرد که یک تغییر شکننده مهم که در اطلاعیه اولیه ذکر نشده، مربوط به بلاک «جزئیات محصول» (Product Details) هست. این بلاک حالا از بلاکهای داخلی و طرح آکاردئونی استفاده میکنه و نسخه زبانهای (tabbed) قبلی حفظ نشده.
- پاسخ تیم ووکامرس: Tung Du، یکی دیگر از اعضای تیم، به سرعت به این گزارش پاسخ داد. او ضمن تشکر از کاربر، تایید کرد که این مورد باید در اطلاعیه ذکر میشد. او توضیح داد که سایتهای موجود باید به استفاده از زبانهها ادامه بدن و لایه سازگاری باید طرح زبانهای رو برای نسخههای قبلی بلاک نمایش بده. اما مشکل اینجا بود که هنگام ویرایش قالب تک محصول، بلاک جدید به صورت خودکار اعمال میشد. او یک راه حل موقت ارائه داد (حذف بلاک آکاردئون تو در تو و ذخیره قالب) و اعلام کرد که تیم در حال کار روی یک اصلاحیه برای جلوگیری از این ارتقا خودکار هست. این تعامل نشون دهنده اهمیت گزارشهای کاربران در شناسایی مشکلاته.
مشکلات سازگاری با افزونهها و سرویسها
- EasyShip: دو کاربر به نامهای Tina (در ۱۷ جولای) و Kathryn Dittmeier (در ۱۸ جولای) گزارش دادن که بعد از اپدیت به نسخه جدید، اتصالشون با سرویس حمل و نقل EasyShip دچار مشکل شده و نمیتونن نرخهای حمل و نقل رو دریافت کنن.
- پاسخ تیم ووکامرس: Brent MacKinnon و John Hsu از تیم ووکامرس به این گزارشها پاسخ دادن. جان هسو در ۱۸ جولای خبر داد که EasyShip مشکل رو در تاریخ ۱۷ جولای برطرف کرده و از کاربران خواست دوباره تلاش کنن. این نشون میده که گاهی مشکلات به افزونهها و سرویسهای ثالث مربوط میشه که باید خودشون رو با نسخه جدید ووکامرس سازگار کنن.
- WPML: کاربری به نام Kaur در ۱۵ جولای اشاره کرد که ویژگی COGS (هزینه کالاهای فروخته شده) که هنوز در حالت بتاست، با افزونه WPML سازگار نیست و هزینه باید به صورت دستی برای هر محصول در هر زبان وارد بشه.
- پاسخ تیم ووکامرس: برایان کوردز تایید کرد که COGS هنوز در حالت بتاست و به کاربر توصیه کرد که از نویسندگان افزونه WPML WooCommerce Multilingual درخواست کنه تا سازگاری با این ویژگی رو اضافه کنن.
- Zapier: کاربری به نام Marco در ۲۰ جولای گزارش داد که بعد از اپدیت، Zap های او، به خصوص تریگر
order.created
، دیگه کار نمیکنن. این نوع گزارشها برای کاربرانی که از اتوماسیون استفاده میکنن بسیار مهمه.
پیشنهادات برای ویژگیهای جدید
- کوپن سراسری از طریق لینک: کاربری به نام David Marchiori در ۱۶ جولای یک پیشنهاد جالب مطرح کرد. او گفت که ایده آل میشد اگه ووکامرس اجازه اشتراک گذاری لینکی رو میداد که یک کوپن رو در کل سایت فعال میکرد، نه فقط در صفحه پرداخت. اینطوری مشتری میتونست با کوپن فعال شده در سایت بگرده و تخفیفها رو هنگام اضافه کردن محصولات ببینه.
- پاسخ تیم ووکامرس: برایان کوردز در پاسخ گفت که اگرچه این یک ویژگی اصلی در ووکامرس نیست، اما افزونههای متعددی در مارکتپلیس ووکامرس وجود دارن که چنین قابلیتی رو ارائه میدن.
- ایجاد خودکار حساب کاربری از سفارش مهمان: کاربری به نام Sridhar در ۱۵ جولای پیشنهاد داد که قابلیتی برای ایجاد خودکار حساب کاربری از سفارش مهمان و لینک کردن سفارشات قبلی به حساب جدید، به هسته ووکامرس اضافه بشه. او اشاره کرد که پلاگینی برای این کار وجود داره اما با HPOS سازگار نیست.
این بازخوردها و بحثها بخش مهمی از اکوسیستم ووکامرس هستن و به بهبود مستمر این پلتفرم کمک میکنن.
مشارکت کنندگان در توسعه هسته ووکامرس
موفقیت یک پروژه متن باز (Open Source) بزرگ مثل ووکامرس، مدیون تلاش جمعی تعداد زیادی از توسعه دهندگان، طراحان، تسترها و مدیران محصول از سراسر دنیاست. در اطلاعیه رسمی نسخه ۱۰.۰، از ۶۷ فردی که در توسعه این نسخه مشارکت داشتن، قدردانی شده. این افراد با ثبت ۴۰۵ کامیت (تغییرات کد)، به شکلگیری این نسخه کمک کردن.
لیست مشارکت کنندگان (Code Contributors) که در این نسخه نقش داشتن، شامل اسامی زیر میشه. هر یک از این افراد، بخشی از پازل بزرگ توسعه ووکامرس ۱۰.۰ بودن. این لیست به خوبی نشون دهنده تنوع و گستردگی جامعه توسعه دهندگان ووکامرسه.
در اینجا اسامی این افراد آورده شده است:
jaclync
, opr
, AhmarZaidi
, bor0
, NeosinneR
, amitraj2203
, omoikane
, kalessil
, yuliyan
, MaggieCabrera
, louwie17
, axi
, oaratovskyi
, adimoldovan
, chihsuan
, Konamiman
, CacheMeOwside
, piinthecloud
, joshuatf
, costasovo
, gigitux
, mordeth
, samueljseay
, jimjasson
, senadir
, pavel-mailpoet
, tjcafferkey
, albarin
, nerrad
, raicem
, wjrosa
, mikachan
, szepeviktor
, KokkieH
, Manussakis
, roccotripaldi
, jorgeatorres
, mcliwanow
, elazzabi
, vladolaru
, kdo
, mikejolley
, slash1andy
, dinhtungdu
, straku
, ralucaStan
, dmallory42
, bacoords
, Kallyan01
, lysyjan
, Luc45
, shaybanshee
, BurakParsAydin
, mahfuzurwp
, naman03malhotra
, thilinah
, prettyboymp
, kmanijak
, jufreitas97
, sunyatasattva
, Aljullu
, PanosSynetos
, PraveenKum11
, tpaksu
, triple0t
این لیست بلند بالا از اسامی، نشان دهنده روح همکاری در جامعه وردپرس و ووکامرسه. هر کدام از این افراد، چه با رفع یک باگ کوچک و چه با توسعه یک ویژگی بزرگ، در بهتر شدن تجربه میلیونها کاربر ووکامرس در سراسر جهان سهیم بودن. قدردانی از این افراد، بخش مهمی از فرهنگ پروژههای متن باز به شمار میره.
دیدگاهتان را بنویسید