سازگاری افزونه ووکامرس با HPOS و Checkout Blocks را چگونه بررسی کنیم؟
برای تأیید سازگاری، دو مسیر را جدا بررسی کنید: افزونه باید سفارشها را از API ووکامرس بخواند و تغییر دهد تا با HPOS کار کند؛ همچنین قابلیتهای مربوط به سبد و پرداخت باید در Cart و Checkout بلوکی واقعاً اجرا شوند. نتیجه را با سناریوی آزمون و نسخههای دقیق ثبت کنید.
اول محدودهٔ اثر افزونه را مشخص کنید
HPOS روش نگهداری سفارش را تغییر میدهد؛ Checkout Blocks رابط و جریان سبد و پرداخت را. افزونهای که فقط یک ابزار مدیریتی مستقل دارد ممکن است هیچ تغییری در پرداخت نداشته باشد. در شرح پروژه بنویسید افزونه کدام دادههای سفارش را میخواند یا مینویسد، کدام فیلدها را در تسویهحساب نشان میدهد و به چه درگاه، حملونقل یا افزونه دیگری وابسته است. این فهرست، دامنهٔ آزمون را تعیین میکند.
چکلیست HPOS: مسیر دادهٔ سفارش
- نسخهٔ وردپرس، ووکامرس، PHP، افزونه و حالت ذخیرهٔ سفارش را در محیط آزمایشی ثبت کنید.
- مسیرهای کد را برای خواندن مستقیم سفارش از
wp_postsیاwp_postmetaو کوئریهای وابسته بهshop_orderبررسی کنید. برای عملیات سفارش از APIهای ووکامرس مانندwc_get_order()،wc_get_orders()و متدهای شیء سفارش استفاده کنید. - با HPOS فعال، یک سفارش بسازید؛ وضعیت، اقلام، متادادهٔ اختصاصی و عملیات اصلاح یا لغو را در هر دو سمت رابط مدیریت و خروجی افزونه بررسی کنید.
- اگر پروژه مهاجرت فروشگاه موجود است، همگامسازی و تغییر مرجع داده را در کپی آزمایشی انجام دهید؛ اختلاف سفارشها و امکان بازگشت را پیش از تغییر سایت اصلی بسنجید.
اعلام سازگاری HPOS در کد یا پنل تنها یک نشانه است. اگر افزونه با جدولهای قدیمی مستقیم کار کند، آزمون با حالت سازگاری و دادهٔ همگامشده ممکن است اشکال را پنهان کند. آزمون باید در حالتی انجام شود که HPOS مرجع سفارش است.
چکلیست Checkout Blocks: مسیر خرید واقعی
- در یک برگهٔ آزمایشی، سبد و تسویهحساب بلوکی را فعال کنید و همان سناریوی خرید را با پرداخت کلاسیک مقایسه کنید.
- فیلدهای افزونه، اعتبارسنجی، هزینه یا تخفیف، روش ارسال و درگاههای مرتبط را از ورود به سبد تا ثبت سفارش بررسی کنید.
- خرید مهمان و کاربر واردشده، خطای پرداخت، تغییر آدرس و بازگشت از درگاه را با دادهٔ آزمایشی اجرا کنید؛ نتیجه و خطای قابل مشاهده را ثبت کنید.
- اگر افزونه به hookهای صفحهٔ کلاسیک متکی است، پشتیبانی آن hook در بلوک را در مستندات بررسی کنید. برخی hookها در بلوک پشتیبانی نمیشوند و ممکن است اتصال به Store API یا JavaScript لازم باشد.
برای درگاه پرداخت، دیدهشدن نام درگاه یا اعلام سازگاری عمومی افزونه معیار کافی نیست؛ خود روش پرداخت باید برای بلوکها یکپارچه شده باشد و سفارش آزمایشی کامل شود.
سناریوی آزمون قابل بازتولید
برای نمونهای فرضی از افزونهای که شناسهٔ سفارش را به انبار میفرستد و یک گزینهٔ تحویل در پرداخت دارد: فروشگاه آزمایشی را با نسخههای ثبتشده آماده کنید؛ HPOS را مرجع سفارش قرار دهید؛ با Checkout بلوکی یک سفارش دو قلمی بسازید؛ گزینهٔ تحویل را انتخاب و پرداخت آزمایشی را کامل کنید. سپس بررسی کنید گزینه روی سفارش ذخیره شده، شناسه و اقلام یکبار به انبار ارسال شدهاند و تغییر وضعیت یا لغو سفارش رفتار تعریفشده را ایجاد میکند. همین سناریو را برای خطای پرداخت و ارسال تکراری اجرا کنید. این مثال، ادعای انجام پروژه یا سازگاری افزونه مشخصی نیست.
چه چیزی را از توسعهدهنده تحویل بگیریم؟
- جدول نسخهها و حالتهای آزمودهشدهٔ HPOS و تسویهحساب، همراه با افزونههای وابسته
- سناریوها، نتیجهٔ مورد انتظار و نتیجهٔ واقعی؛ خطاهای باز و محدودیتها
- روش نصب، مسیر فعالسازی، پشتیبانگیری و بازگشت در صورت شکست
- اعلام سازگاری در کد فقط پس از آزمون؛ برنامهٔ بازآزمایی پس از بهروزرسانی ووکامرس
برای جمعآوری ورودی پروژه از چکلیست شرح نیاز افزونه استفاده کنید. اگر افزونه به موجودی یا سفارش بیرونی وصل است، راهنمای اتصال ووکامرس به انبار مسیر داده و خطا را روشنتر میکند.