WooCommerce Stok Miktarı Kaydedilmiyor: Bir Reddediş, Dört Sessiz Atlama
İki başarısızlık tıpatıp aynı görünür: WooCommerce'in size gösterdiği reddediş ve göstermediği dört sessiz atlama. Ayırt etme ve kanıtlama yöntemi.
Stok alanına bir rakam yazdınız, Güncelle‘ye bastınız ve rakam orada değil. Ya WooCommerce size nedenini söyledi ya da söylemedi. Bunlar, doğru karşılıkları birbirinin tersi olan bambaşka iki sorundur ve bu işin bu kadar sık ters gitmesinin nedeni, yönetim ekranından ikisinin tıpatıp aynı görünmesidir: sayfa yeniden yüklenir, bildirim alanı ürünün güncellendiğini yazar ve miktar yanlıştır.
Bu sayfa, gerçekleşmemiş tek bir yazımla ilgili. Bunun yerine rakamlarınız haftalar içinde raftan uzaklaşıyorsa, bu farklı cevabı olan farklı bir sorudur — WooCommerce stok seviyelerini sessizce bozan sekiz şey onun sayfasıdır ve burada hiçbiri tekrarlanmaz.
Yönetim ekranından tıpatıp aynı görünen iki başarısızlık#
Gürültülü başarısızlık bir redditir. WooCommerce rakamınızı okudu, bir şeyle karşılaştırdı, onu yazmanın bilgi yok edeceğine karar verdi ve reddetti. Bunu ekranda söyler. Formdaki diğer her şey normal biçimde kaydedildi; sayfanın işe yaramış gibi görünmesinin nedeni tam olarak budur.
Sessiz başarısızlıkta hiçbir mesaj yoktur. Hiçbir şey itiraz etmedi. Yazım ya hiç gerçekleşmedi, ya baktığınız yerden başka bir yerde gerçekleşti, ya da düzgün gerçekleşti ve siz cevabın bayat bir kopyasını okuyorsunuz.

Aşağıdaki her şey bu iki yığından birine giriyor ve ilk iş her zaman hangi yığında olduğunuzu anlamaktır. Yaklaşık on saniye sürer: bir mesaj çıktı mı?
“The stock has not been updated because the value has changed since editing”#
Bu, mesajın birebir metnidir ve tam olarak alıntılanmaya değer, çünkü çoğu kişi onun yarım hatırlanan bir hâlini arar. Tam mesaj ürünü adlandırır ve WooCommerce’in şu anda tuttuğu miktarı size söyler:
The stock has not been updated because the value has changed since editing. Product 1482 has 37 units in stock.
Mekanizma şöyle ve göründüğünden basit. Ürün düzenleme ekranı oluşturulduğunda WooCommerce forma, stok miktarını o andaki hâliyle içeren gizli bir alan yazar. Güncelle‘ye bastığınızda o gizli değeri veritabanındaki şimdiki miktarla karşılaştırır. İkisi farklıysa, ekran yüklendikten sonra siz düğmeye basana kadar bir şey stoğu değiştirmiştir — bu yüzden rakamınızı atar ve mesajı gösterir. Varyasyonlar da aynı şekilde ele alınır, her biri kendi gizli alanıyla.
Bundan iki sonuç çıkıyor ve ikisi de insanların ayrı hatalar sandığı belirtileri açıklıyor.
Yalnızca stok rakamı düşürülür. Başlık, fiyat, açıklama, kategoriler, görseller — o formdaki diğer her şey tam bıraktığınız gibi kaydedilir. Ürün gerçekten güncellendi. Umursadığınız tek şey dışında her açıdan güncellendi.
Alan sonra yazmadığınız bir rakam gösterir. Yeniden yüklemeden sonra miktar kutusu veritabanından oluşturulur, dolayısıyla girdiğiniz rakamı değil WooCommerce’in elindeki rakamı gösterir. İnsanların stok miktarının eski hâline döndüğünü söylerken kastettikleri budur. Hiçbir şey eski hâline dönmedi; değeriniz hiç yazılmadı.
Reddediliş neden WooCommerce’in bir satışı koruması#
Korunan aralık, düzenleme ekranını açmakla düğmeye basmak arasındaki aralıktır. On saniye olabilir, siz başka bir şey yaparken tarayıcı sekmenizin açık kaldığı kırk dakika da olabilir. O pencerede stoğu hareket ettiren her şey korumayı tetikler: bir sipariş, bir iade, yönetim ekranındaki ikinci bir kişi, bir senkronizasyon, zamanlanmış bir içe aktarım.
Alternatifin ne olacağını düşünün. Ekranınız stok 40 iken yüklendi. Üç adetlik bir sipariş geldi. Kutuda hâlâ 40 varken Güncelle’ye basıyorsunuz. Koruma olmasa WooCommerce 40 yazardı — ve o müşterinin az önce satın aldığı üç adet sessizce rafa geri dönerdi. Reddediliş, platformun zorluk çıkarması değildir. Platformun sizin adınıza bir satışı kaybetmeyi reddetmesidir.
Neden tekrar Güncelle’ye basmak yanlış çözüm#
İşe yarıyor, sorun da bu. Sayfa yeniden yüklendi, dolayısıyla gizli alan artık güncel miktarla eşleşiyor, dolayısıyla korumanın şikâyet edecek bir şeyi yok, dolayısıyla rakamınız yazılıyor — tam da ilk denemenin koruduğu hareketin üzerine.
Bunun yerine yapılacak şey tek bir düşünce gerektiriyor. Mesaj size WooCommerce’in şu anda tuttuğu miktarı söylüyor. Rakamınızın nereden geldiğini sorun:
- Ekrandan okuyup üzerinde oynadınız. O hâlde rakamınız artık güncel olmayan bir değerden türetildi ve mesajdaki rakamdan yeniden başlamalısınız.
- Rafı saydınız. O hâlde rakamınız, saydığınız andaki raf gerçeğidir — ama stok o zamandan beri hareket etti ve onu düz yazmak o hareketi geri alır. Bir sayım oturumunun, açıldığında beklenen rakamları dondurarak çözdüğü sorun tam olarak budur; mağaza satış yaparken saymanın işlemesinin nedeni de budur.
Bilinmeye değer bir şey daha, çünkü bu konudaki en yaygın kötü tavsiye: Hızlı Düzenleme’de bu koruma yok. Tam ürün ekranı gizli alanı taşır ve reddeder; Hızlı Düzenleme kontrol etmez, yazar. Yani “onun yerine Hızlı Düzenleme’yi kullan, işe yarıyor” bir çözüm değildir. Görebildiğiniz bir başarısızlığı göremediğiniz bir başarısızlığa çevirmenin yoludur.
Sessiz atlamalar, ne sıklıkta başa geldiklerine göre#
Mesaj yoksa rakam, klavyenizle baktığınız ekran arasındaki yolda bir yerde durmuştur. Durabileceği beş yer var ve yalnızca birincisi haber verir.

1. Stok takibi yapılmıyor#
WooCommerce, stok takibi yapmayan bir ürün için miktar yazmaz. Hata değil, uyarı değil: kutu kapalıyken alan zaten formda yoktur ve başka yerde stok yazan işlevler ürünü tamamen atlar. Uygunluğu bir evet ya da bir hayır olan bir üründe miktarın anlamı yoktur.
İki anahtar önemli ve ikincisi insanları yakalıyor. Ürün bazındaki anahtar, Envanter sekmesindeki Stok takibi? kutusudur. Küresel anahtar WooCommerce → Ayarlar → Ürünler → Envanter altındadır ve birincisinden üstündür. Küresel anahtar kapalıyken bir toplu düzenleme miktarı yalnızca atlamaz: onu temizler ve giderken ürün bazında stok takibini de kapatır.
2. Rakam üst üründe değil varyasyonda yaşıyor#
Varyasyonlu bir üründe stok rakamının yaşayabileceği iki yer vardır ve aynı anda yalnızca biri kullanımdadır. WooCommerce bunu alanın kendi yardım metninde söyler: üst ürün miktarı, stoğu varyasyon seviyesinde tanımlamadığınız sürece bütün varyasyonları yönetir.
Stoğu varyasyon seviyesinde ayarlayın, üst ürünün alanı süse dönüşür — içine yazabilir, kaydedebilir ve kimsenin göreceği hiçbir şeyi değiştiremezsiniz. Tersi de aynı ölçüde yaygındır: stok üst üründe yönetilirken bir varyasyonun miktarını düzenlemek üst ürüne yazar, dolayısıyla baktığınız varyasyon hâlâ önceki değerini gösterir. Bir ürünün hangi düzende olduğu ürüne özgü bir gerçektir ve üst ürün seviyesiyle varyasyon seviyesi arasındaki fark bütün katalog için bir kez karara bağlanmaya değer.
3. Hızlı Düzenleme’ye sayı olmayan bir şey verildi#
Hızlı Düzenleme yalnızca sayısal bir miktar kabul eder. Ona başka bir şey verin — kaçak bir harf, ondalık ayırıcı olarak bir virgül, para birimi simgesiyle yapıştırılmış bir değer — ve şikâyet etmek yerine boş bir miktar saklar. Sıfır sorun değildir, çünkü sıfır bir sayıdır. “1,5” değildir; hâlâ bir para birimi simgesi taşıyan hiçbir şey de değildir.
4. Stoğun neye değişeceğini seçmeden yapılan toplu düzenleme#
Toplu düzenleyicinin stok miktarı alanı yalnızca yanındaki açılır listeden bir değişim modu da seçtiyseniz okunur. Onu varsayılanında bırakın, düzenleyici ürünün mevcut miktarını geri yazar; bu başarılı olur, hiçbir şeyi değiştirmez ve başarı bildirir — bu listedeki sessiz atlamanın en saf hâli.
5. Sizden sonra bir şey yazdı#
Sonuncusu aslında bir atlama değildir: yazım gerçekleşti ve sonra değiştirildi. Bir senkronizasyon eklentisi, bir ERP bağlayıcısı, bir pazaryeri listeleme aracı ya da zamanlanmış bir içe aktarım, kaydetmenizle kontrolünüz arasında çalıştı. İpucu zamanlamadır — rakam kaydettikten hemen sonra doğrudur, sonra yanlıştır ve rastgele değil bir takvime göre bozulur.
Ve hiçbir şeyin başarısız olmadığı durum#
Veritabanı doğru olup ekran yine de yanlış olabilir. Ürün listesi sütunu ürünün kendisinden değil bir arama tablosundan çizilir; dolayısıyla WooCommerce’i baypas eden bir yazım — doğrudan bir SQL güncellemesi, meta veriyi doğrudan veritabanına yazan bir araç — ikisini uyuşmaz bırakır: ürün ekranında doğru, listede yanlış. Ön yüzde ise bir sayfa önbelleği ya da bir CDN, yönetim ekranı gerçeği gösterirken oturum açmamış ziyaretçilere dünü gösteriyor olabilir.
| Belirti | Muhtemel neden | Tek adımda kontrol | Çözüm |
|---|---|---|---|
| Ürünü ve bir miktarı adlandıran hata mesajı | Ekran açıkken stok değişti | Mesajdaki miktarı okuyun | O rakamdan yeniden hesaplayın, tekrar Güncelle’ye basmayın |
| Miktar alanı hiç yok | Ürün için stok takibi kapalı | Envanter sekmesi, Stok takibi? | İşaretleyin, sonra miktarı girin |
| Alan kaydediliyor ama hiçbir yerde bir şey değişmiyor | Küresel stok takibi kapalı | Ayarlar → Ürünler → Envanter | Başka bir şey düzenlemeden önce açın |
| Üst ürün kaydediliyor, varyasyonlar etkilenmiyor | Stok varyasyon seviyesinde yönetiliyor | Bir varyasyonu açın ve kendi miktarına bakın | Gerçekten kullanımda olan seviyeyi düzenleyin |
| Hızlı düzenlemeden sonra miktar boşalıyor | Sayısal olmayan bir değer ya da stok takibi kapalı | Kutuda başka hiçbir şey olmadan rakamı yeniden yazın | O ürün için tam ürün ekranını kullanın |
| Toplu düzenleme başarı bildiriyor, değerler değişmiyor | Değişim modu seçilmemiş | Miktar kutusunun yanındaki açılır liste | Değişim modunu seçin, sonra yeniden çalıştırın |
| Ürün ekranında doğru, listede yanlış | Arama tablosu geride kalmış | Ürünü açın ve karşılaştırın | Ürünü WooCommerce üzerinden yeniden kaydedin |
| Yönetimde doğru, mağaza sayfasında yanlış | Sayfa önbelleği ya da CDN | Sayfayı gizli pencerede açın | Önbelleği temizleyin |
| Kaydettikten hemen sonra doğru, bir saat sonra yanlış | Bir senkronizasyon ya da zamanlanmış içe aktarım | Tek bir ürünü değiştirip izleyin | Daha fazla düzenlemeden önce entegrasyonu bulun |
On dakikadan kısa sürede ikisini ayırmak#
Bunları sırayla uygulayın. Her biri bütün bir neden sınıfını eler ve biri cevap verir vermez durabilirsiniz.
- Bir mesaj çıktı mı? Evetse gürültülü durumdasınız ve bu listenin geri kalanı sizi ilgilendirmiyor.
- Ortada bir miktar alanı var mı? Alan yoksa stok takibi yapılmıyordur ve ne kadar yazarsanız yazın bir şey değişmez.
- Varyasyonlu bir üründe rakam nerede? Bir varyasyonu açın. Kendi miktar kutusu ve içinde bir rakam varsa kullanımdaki alan üst ürününki değildir.
- Ürün ekranı ürün listesiyle uyuşuyor mu? Uyuşmazlık, yazımın gerçekleştiği ama dizinin peşinden gelmediği anlamına gelir.
- Ön yüz yönetim ekranıyla uyuşuyor mu? Gizli pencerede kontrol edin. Uyuşmazlık bir yazım değil bir önbellektir.
- Kendi kendine tekrar değişiyor mu? Bir rakam girin, saati not edin, bir saat sonra dönün. Sipariş olmadan hareket ettiyse başka bir şey yazıyordur.
Yazımın gerçekleştiğini kanıtlayın: dışa aktarın ve karşılaştırın#
Yukarıdaki her kontrol bir ekran okuyor ve tam da ekranlar tartışma konusu. Görüş olmayan tek bir doğrulama var: ürünleri değişiklikten önce ve sonra dışa aktarıp iki dosyayı karşılaştırın.
Ürünler → Dışa Aktar‘ı kimlik, SKU ve stokla sınırlı kullanın. Değişikliği yapmadan önce bir, yaptıktan sonra bir dışa aktarım alın ve bunları bir tabloda karşılaştırın. Elinize tam olarak hangi satırların ne kadar hareket ettiğinin listesi geçer — bu hem yazımın gerçekleştiğinin kanıtıdır hem de gerçekleşmediyse incelenecek ürünlerin kısa listesidir.
Kulağa olduğundan daha çok iş gibi geliyor ve zaten sahip olmaya değer ikinci bir faydası var: “öncesi” dosyası bir kurtarma noktasıdır. Yazım gerçekleşmiş ama yanlış çıkarsa, o dosya en hızlı dönüş yoludur.
Öbür yönden kanıtlayın: bir oturum açın ve beklenen sütununu okuyun#
Ters yönden gelen ikinci bir kanıt var ve birkaç ürünün ötesine ölçeklenen de odur.
Söz konusu ürünlerle sınırlı bir sayım oturumu açın. Bir oturumun gösterdiği beklenen miktar, oturumun açıldığı andaki kayıtlı stoktan okunur; dolayısıyla aynı rakamların ikinci, bağımsız bir gösterimidir — ürün listesinden, ürün ekranından ya da herhangi bir önbellekten gelmeyen bir gösterim. Beklenen sütunu sizin rakamınızı gösteriyorsa yazım gerçekleşti. Eskisini gösteriyorsa gerçekleşmedi.

Tek bir ürün için bu daha da hızlı. SKU’yu bir oturumun arama kutusuna okutun ya da yazın; satır güncel rakamıyla birlikte gelir ve bu, “sistem bu ürün için gerçekte ne tutuyor?” sorusunun tek satırlık cevabıdır.

Stoğu ürün ekranından düzenlemek neden asıl sorun#
Tekil nedenlerden bir adım geri çekilin, çoğunun arkasında tek bir biçim var. Ürün ekranı tek değerli, iyimser bir yazımdır: bir süre önce oluşturulmuş bir forma yazılan tek bir rakam, şu anda orada ne varsa onun üzerine kaydedilir; yerine koyduğunun kaydı yoktur ve değişmek üzere olanın incelemesi yoktur.
Bu sayfanın başında karşılaştığınız koruma, WooCommerce’in bunu itiraf etmesidir. Var olma nedeni, o ekranın stoğu düzeltmek için kötü bir yer olmasıdır ve platform, yazımın güvensiz olduğunu kanıtlayabildiğinde reddetmek dışında bu konuda bir şey yapamaz. Geri kalan zamanlarda kanıtlayamaz ve yazar.
Alternatif daha iyi bir form değildir. Farklı bir işlem biçimidir: iş başladığında dondurulan rakamlar, değişmek üzere olan her satırın incelenmesi, tek bir yazım ve öncesinde orada ne olduğunun kaydedilmiş bir kopyası. Kendine envanter eklentisi diyen her araç böyle çalışmıyor ve kontrol etmeye değer fark da bu.


Bunların hiçbiri bu sayfadaki nedenleri ortadan kaldırmaz — stok takibi kapalı bir ürünün yazılacak bir miktarı yine de yoktur. Ortadan kaldırdığı şey, yazımın gerçekleşmediği ve size hiçbir şeyin haber vermediği başarısızlık sınıfıdır; çünkü sayım kayıtlı rakamlarla mutabakat edilir ve sonucu, herhangi bir şey yazılmadan önce size gösterir.
Ya yazım gerçekleştiyse ama rakam yanlışsa#
O hâlde burası yanlış sayfaydı ve okumaya devam etmenize izin vermek yerine bunu açıkça söylemek gerekiyor.
Düzgün gerçekleşen ve yine de sizi yanlış rakamla bırakan bir yazım, yazdığınız rakamın yanlış olduğu anlamına gelir — bu bir kaydetme sorunu değil bir sayım sorunudur. Tek bir ürünse onu sayın. Katalogsa cevap bir öğleden sonra değil bir takvimdir: her seferinde bir bölge saymak, rakamları rafa yeterince yakın tutar; böylece tek bir kötü yazım gürültüde kaybolmak yerine göze çarpar. Ve geri almak istediğiniz bir yazım uyguladıysanız, yollar denenme sırasıyla kurtarma sayfasında.
Sık sorulan sorular#
"The stock has not been updated because the value has changed since editing" ne demek?
Düzenleme ekranınızın yüklendiği anla Güncelle’ye bastığınız an arasında veritabanındaki stok miktarının değiştiği anlamına gelir — genellikle bir sipariş yüzünden. WooCommerce o hareketin üzerine yazmak yerine rakamınızı atar ve formdaki diğer her alanı normal biçimde kaydeder. Mesaj, şu anda tuttuğu miktarı da içerir.
WooCommerce stok miktarım kaydettiğimde neden eski hâline dönüyor?
Eski hâline dönmedi; hiç yazılmadı. Reddedilen bir kaydetmeden sonra miktar kutusu veritabanından oluşturulur, dolayısıyla yazdığınız rakamı değil güncel rakamı gösterir. Bu, yukarıdaki mesajla aynı başarısızlığın öbür taraftan fark edilmiş hâlidir.
Tekrar Güncelle'ye bassam olmaz mı?
Hayır. İkinci deneme tam da sayfa yeniden yüklendiği için başarılı olur — ve rakamınızı, ilk denemenin koruduğu hareketin üzerine yazar. Mesajdaki miktarı okuyun, rakamınızın eski ekrandan mı yoksa rafı saymaktan mı türediğini belirleyin ve oradan düzeltin.
Ürün ekranı reddederken Hızlı Düzenleme stoğu neden kaydediyor?
Çünkü Hızlı Düzenleme bu kontrolü taşımaz. Tam ürün ekranı, özgün miktarın gizli bir kopyasını güncel olanla karşılaştırır; Hızlı Düzenleme karşılaştırmadan yazar. Bu bir çözüm değildir — görebildiğiniz bir başarısızlığı göremediğiniz bir başarısızlığa çevirir.
Bir stok miktarı yazdım ve hata olmadan hiçbir şey kaydedilmedi. Neden?
En yaygın nedenler, sırayla: o ürün için ya da küresel olarak stok takibi kapalıdır; ürün varyasyonludur ve rakam öbür seviyede yaşamaktadır; Hızlı Düzenleme sayı olmayan bir değer aldı ve boş bir miktar sakladı; bir toplu düzenleme değişim modu seçilmeden çalıştı; ya da sonradan bir şey değerinizin üzerine yazdı.
Ürün listesi neden ürün sayfasından farklı bir stok rakamı gösteriyor?
Liste sütunu, WooCommerce’in ürünün yanı sıra tuttuğu bir arama tablosundan çizilir. WooCommerce üzerinden giden bir yazım ikisini de günceller. Doğrudan veritabanına giden bir yazım yalnızca birini günceller ve ürün WooCommerce üzerinden yeniden kaydedilene kadar ikisi uyuşmaz.
Bir stok güncellemesinin gerçekten kaydedildiğini nasıl kanıtlarım?
Değişiklikten önce ve sonra kimlik, SKU ve stoğu dışa aktarıp iki dosyayı karşılaştırın. Ekran okumayan tek kontrol budur ve “öncesi” dosyası, yazım yanlış çıkarsa aynı zamanda bir kurtarma noktası işlevi görür.
Bir stok güncellemesi yalnızca varyasyonlarda başarısız olabilir mi?
Evet ve bu yaygındır. Varyasyonlar kendi gizli özgün-miktar kontrollerini taşır, dolayısıyla ürünün geri kalanı kaydedilirken bir varyasyon reddedilebilir. Ayrıca stok üst üründe yönetiliyorsa bir varyasyonun miktarını düzenlemek üst ürüne yazar ve varyasyon değişmemiş görünür.
