WooCommerce’de Yüksek Performanslı Sipariş Depolamayı (HPOS) Etkinleştirme
Ekim 2023’te yayınlanan WooCommerce 8.2 ile birlikte yüksek performanslı sipariş depolama (HPOS, Custom Order Tables olarak da bilinir) beta aşamasından çıkıp kararlı ilan edildi. 10 Ekim 2023’ten itibaren oluşturulan mağazalarda varsayılan olarak etkin; daha eski mağazaların bunu bilinçli olarak etkinleştirmesi gerekir.
HPOS sipariş depolamada ne değiştiriyor
HPOS öncesinde WooCommerce her siparişi wp_posts tablosunda bir yazı olarak (shop_order içerik türüyle) kaydediyor, tüm verilerini (müşteri, tutarlar, durum, adres) sitedeki tüm diğer içerik türleriyle paylaşılan genel bir tablo olan wp_postmeta içinde dağınık meta veriler olarak tutuyordu. HPOS ile siparişler, arama, duruma göre filtreleme ve raporlama gibi sipariş sorguları için özel olarak yapılandırılmış özel tablolarda saklanır.
Etkinleştirme, varsayılan olarak açık olmayan mevcut mağazalarda WooCommerce > Ayarlar > Gelişmiş > Özellikler üzerinden yapılır. Geçiş süresince bir senkronizasyon modu iki yapıyı hizalı tutar; bu da bir sorun çıkması durumunda geri dönmeyi mümkün kılar.
Bir eklenti HPOS ile neden çalışmayı durdurabilir
- WooCommerce’in CRUD API’si (get_post_meta(), WC_Order vb.) yerine doğrudan wp_posts veya wp_postmeta’ya okuma/yazma yapan bir ödeme, muhasebe veya raporlama eklentisi, HPOS etkinleştirildikten sonra verileri yanlış yerde aramaya devam eder: raporlarda eksik siparişler, güncellenmeyen durum, eksik muhasebe dışa aktarımları.
- wp_posts üzerinde post_type = 'shop_order' filtresiyle doğrudan SQL sorgusu yapan bir tema veya özel modül, HPOS etkinleştirildikten sonra oluşturulan siparişleri artık bulamaz.
- Bazı eklentiler HPOS uyumluluğunu eklenti başlığında açıkça belirtir; WooCommerce bunu eklenti listesinde gösterir (uyumlu, uyumsuz veya belirtilmemiş), bu sayede bir olay yaşanmadan önce kontrol etmek mümkün olur.
Mevcut bir mağazada HPOS’u nasıl etkinleştiriyorum
-
Eklenti uyumluluğunun kontrolü
Sipariş ile ilgili her aktif eklenti (ödeme, faturalama, kargo, raporlama) için WooCommerce’in gösterdiği HPOS uyumluluk durumunu kontrol eder, henüz uyumlu olmayanları güncellerim.
-
Senkronizasyon modunun etkinleştirilmesi
HPOS’u senkronizasyon açık şekilde etkinleştiririm: siparişler yeni tablolara yazılır ve wp_posts’ta da çoğaltılmaya devam eder; bu da bir eklenti sorun çıkarırsa geri dönüş kapısı bırakır.
-
Bir sipariş örneğinde test
Her aktif ödeme kanalında bir test siparişinin oluşturulmasını, durum değişikliğini, iadesini ve dışa aktarımını önce bir test ortamında kontrol ederim.
-
Senkronizasyon açıkken gözlem süresi
Raporları ve hassas eklentileri izleyerek, tam bir sipariş döngüsünü kapsayacak kadar mağazayı senkronizasyon açık şekilde çalışır bırakırım.
-
Eski depolamanın devre dışı bırakılması
Kararlılık doğrulandıktan sonra senkronizasyonu ve wp_posts’taki eski depolamayı devre dışı bırakırım. Bu nokta geri dönüşün olmadığı noktadır: hiçbir eklentinin siparişler için hâlâ wp_posts’a bağımlı olmadığından emin olmadan bunu devre dışı bırakmak, sessiz bir uyumluluk kaybına yol açabilir.
Daha fazlası için
-
WooCommerce sepet ve ödeme bloklarına geçiş
WooCommerce’in aynı dönemine ait, eklentiler tarafında kendi uyumluluk mantığına sahip başka bir değişiklik.
-
WooCommerce’i büyük bir sürüme güncelleme
HPOS, WooCommerce’in büyük bir sürüm yükseltmesinden önce öngörülmesi gereken değişikliklerden biridir.
-
Güncellemeden önce eklenti uyumluluğunu kontrol etme
HPOS gibi yapısal bir değişikliğe bir eklentinin dayanıp dayanamayacağını kontrol etmenin genel yöntemi.
-
Müdahale öncesi mağazanızı yedekleme
Veritabanı yapısına yönelik her müdahalede olduğu gibi, yedekleme HPOS’u etkinleştirmeden önce gelir.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.