HPOS روش جدید ووکامرس برای نگهداری سفارشها در جدولهای اختصاصی و بهینه است و مدیریت سریعتر و مقیاسپذیرتر سفارشها را هدف میگیرد.

مهاجرت HPOS ووکامرس برای فروشگاههایی طراحی شده است که میخواهند سفارشها را از ساختار قدیمی وردپرس به ذخیرهسازی اختصاصی و بهینه منتقل کنند. در این راهنما، مسیر مهاجرت HPOS ووکامرس را با کنترل سازگاری، همگامسازی و امکان بازگشت بررسی میکنیم.
HPOS چیست و چه مشکلی را حل میکند؟
HPOS یا High-Performance Order Storage، روش جدید ووکامرس برای نگهداری سفارشها در جدولهای اختصاصی و بهینه است. در روش قدیمی، اطلاعات سفارش با دادههای نوشتهها و متادیتای وردپرس در wp_posts و wp_postmeta قرار میگرفت. HPOS با جداکردن دادههای سفارش، جستوجو و مدیریت سفارشهای فروشگاه را منظمتر و مقیاسپذیرتر میکند. از WooCommerce ۸.۲، نصبهای جدید بهصورت پیشفرض از HPOS استفاده میکنند؛ اما فروشگاههای قدیمی باید مهاجرت را کنترلشده انجام دهند. برای خدمات توسعه و نگهداری فروشگاه میتوانید وبسایت تکتاز را نیز ببینید.
مهاجرت HPOS ووکامرس فقط تغییر یک گزینه نیست. افزونهها، قالب و کدهای سفارشی ممکن است مستقیماً به جدولهای قدیمی یا هوکهای مرتبط با posts وابسته باشند. اگر این وابستگیها بررسی نشوند، اختلاف داده، نمایش ناقص سفارش یا اختلال در پرداخت و گزارشها ممکن است بعد از فعالسازی دیده شود. بنابراین مهاجرت HPOS ووکامرس باید مرحلهای و قابلاندازهگیری باشد.
قبل از فعالسازی چه چیزهایی را بررسی کنیم؟
ابتدا از دیتابیس و فایلها بکاپ بگیرید و یک staging همنسخه با production بسازید. در مسیر مهاجرت HPOS ووکامرس، فهرست افزونهها، قالب و قطعهکدهای سفارشی را آماده کنید. در کدها و افزونههای اختصاصی، جستوجوی مستقیم برای wp_posts، wp_postmeta، shop_order و کوئریهای مخصوص سفارش انجام دهید. استفاده از APIهای رسمی ووکامرس معمولاً مسیر سازگارتری است، اما هر افزونه باید طبق مستندات سازنده بررسی شود.
همچنین checkout، درگاه پرداخت، کوپن، مالیات، حملونقل، بازپرداخت، ایمیل سفارش، گزارشها و وبهوکها را در staging فهرست کنید. معیارهای قبل از مهاجرت مانند تعداد سفارشها، آخرین شماره سفارش و چند نمونهٔ قابلپیگیری را ثبت کنید تا بعداً بتوانید نتیجه را با آنها مقایسه کنید.
Compatibility Mode را فعال کنید
در پیشخوان به مسیر WooCommerce > Settings > Advanced > Features بروید و گزینهٔ فعالسازی Compatibility Mode را روشن کنید. این حالت سفارشها را بین ذخیرهسازی HPOS و جدولهای posts همگام نگه میدارد و فرصت میدهد افزونههای ناسازگار را بدون قطع فروشگاه شناسایی کنید.
پس از فعالسازی، ووکامرس چند Scheduled Action را در پسزمینه اجرا میکند. مستندات رسمی به دو action مهم اشاره میکند: wc_schedule_pending_batch_process برای پیدا کردن سفارشهای نیازمند همگامسازی و wc_run_batch_process برای backfill. هر batch حداکثر ۲۵ سفارش را پردازش میکند؛ بنابراین در فروشگاه بزرگ باید تا پایان صف صبر کنید و وضعیت را از WooCommerce > Status > Scheduled Actions زیر نظر داشته باشید.


همگامسازی و کنترل اختلافها
پس از پایان صف، تعداد سفارشها را در هر دو مسیر مقایسه کنید. این مرحله در مهاجرت HPOS ووکامرس جلوی اعتماد به یک شمارندهٔ ناقص را میگیرد. در محیطهایی که WP-CLI فعال است، ابزارهای HPOS برای مشاهدهٔ وضعیت، همگامسازی و بررسی دادهها کمک میکنند:
“`bash wp wc hpos status wp wc hpos sync wp wc hpos verify_data wp wc hpos diff “`
این فرمانها جای تست کاربردی را نمیگیرند، اما برای پیدا کردن سفارشهای همگامنشده و اختلافهای قابلبررسی مفیدند. هر اختلاف را با شناسهٔ سفارش و افزونهٔ درگیر ثبت کنید؛ صرفاً صفرشدن یک شمارنده، سلامت کامل checkout یا webhook را ثابت نمیکند.
فعالسازی نهایی و مسیر بازگشت
وقتی staging بدون خطا بود، HPOS را ابتدا در زمان کمترافیک روی production فعال کنید. در مهاجرت HPOS ووکامرس، Compatibility Mode را برای مدتی نگه دارید تا پرداخت، ایجاد سفارش، تغییر وضعیت، بازپرداخت، ایمیل و گزارشها در دادهٔ واقعی هم بررسی شوند. لاگ PHP، لاگ وبسرور و Scheduled Actions را در ساعات نخست بیشتر پایش کنید.
اگر مشکل جدی دیده شد، با داشتن بکاپ و ثبت علت میتوان موقتاً به Posts Storage برگشت. این کار نباید با حذف جدولها یا پاککردن شتابزدهٔ دادههای قدیمی انجام شود. قبل از بازگشت، سفارشهای جدید، وضعیت پرداختها و صف همگامسازی را ثبت کنید تا بعداً اختلاف تازه ایجاد نشود.

جمعبندی
HPOS برای فروشگاههای بزرگتر مسیر بهتری برای مدیریت سفارش است، اما مهاجرت امن ووکامرس به HPOS به بکاپ، staging، بررسی سازگاری افزونهها، Compatibility Mode، همگامسازی و تست واقعی نیاز دارد. در مهاجرت HPOS ووکامرس ابتدا دادهها را اندازه بگیرید، سپس قابلیت را فعال کنید و در پایان با verify_data، diff و سناریوهای واقعی فروشگاه نتیجه را بررسی کنید. راهنمای رسمی WooCommerce Developer Documentation نیز فعالسازی Compatibility Mode و پایش Scheduled Actions را توصیه میکند.
مطالب مرتبط
همه مطالب مقالات آموزشیمقالات آموزشیامنیت وردپرس ۷.۱.۴؛ رفع RCE و Stored XSS در هسته
مقالات آموزشیآموزش همه محصولات در وردپرس (ووکامرس)
مقالات آموزشیآموزش بهینهسازی تصاویر وردپرس با Lazy Loading
مقالات آموزشیآموزش بخش سفارش ها در وردپرس (ووکامرس)
مقالات آموزشیآموزش بروزرسانی ها در وردپرس
مقالات آموزشیآموزش همه برگه ها در وردپرس











