Virtuální produkty se přímo nabízí, aby se proces jejich nákupu automatizoval. Ne vždy to zdánlivě funguje. V článku najdete vysvětlení a jednoduchý snippet, na obejití problému.
WooCommerce obsahuje u produktů nastavení, které z nich udělají virtuální. Tedy takové, jenž nepotřebují dopravu. Virtuální produkt může být i e-book, nebo nějaký poukaz. Ostatně, tak se prodávají například pluginy pro WordPress.
Některé platební metody, nebo pluginy, umí objednávky takových pluginů, označit rovnou jako zaplacené a díky tomu se dá celý proces automatizovat. Zákazník objedná, zaplatí kartou, vystaví se mu faktura a vše se mu pošle e-mailem a hotovo.
Bohužel, to však funguje jen u produktů, které jsou virtuální a ke stažení. U produktů, jenž nejsou ke stažení, WooCommerce předpokládá, že bude následovat ještě další procesní krok a proto obsahuje příznak needs_processing. Ten je přidán do objednávky, pokud se nejedná o produkt virtuální a ke stažení. Zároveň je je uložen transient do options. To vše je pak odstraněno, pokud je objednávka označena jako completed.
Tolik pro vysvětlení problému. V případě, že máte virtuální produkty, jenž nejsou ke stažení a chcete tento příznak vypnout (u pluginů z Toret.cz je příznak needs_processing zohledněn ), stačí použít následující snippet:
Snippet je jen ukázka, ale funkce je volána pro každý produkt, který je v objednávce a můžete tak řešit případné závislosti. Pokud jej použijete tak jak je, označí všechny produkty v objednávce, že nepotřebují další proces.
Chcete se o WooCommerce dozvědět více? Přijďte na některé ze školení