Často kladené otázky

⌘K
  1. Často kladené otázky...
  2. Vstupenky
  3. Pro velké objednávky se lístky nevydávají.

Pro velké objednávky se lístky nevydávají.

Příčinou je pravděpodobně omezení datového typu v databázi vašich webových stránek. FooEvents ukládá údaje o lístcích pro danou objednávku v jediném serializovaném meta_hodnota. U velkých objednávek (přibližně 30 a více lístků v jedné objednávce, v závislosti na tom, kolik dat každý lístek ukládá) může tato serializovaná hodnota překročit maximální velikost povolenou pro TEXT pole. Když k tomu dojde:

  • Meta objednávky je zkrácené nebo neúplně uložené.
  • FooEvents nemá všechna data, která očekává.
  • Vstupenky pro tuto objednávku mohou nebýt generován správně nebo vůbec.

Koho se to týká? #

To by se mělo týkat pouze obchodů, které:

  • Mít HPOS (WooCommerce Vysoce výkonné ukládání objednávek) povoleno.
  • Očekávejte zpracování velké objednávky (asi 30 nebo více lístků v jedné objednávce).

Pokud jste ne používání HPOS, neměl by vás tento problém ovlivnit.

Proč se to netýká webů, které nepoužívají HPOS? #

Na stránkách bez HPOS používá WooCommerce standardní WordPress. postmeta tabulka (například wp_postmeta) pro meta údaje o objednávce.

Na adrese postmeta... meta_hodnota sloupec je již definován jako DLOUHÝ TEXT, který může ukládat mnohem větší hodnoty než TEXT.

Z tohoto důvodu mohou weby, které nepoužívají HPOS, bezpečně ukládat velké hodnoty meta ticketů FooEvents bez jakýchkoli změn.

Pokud se s tímto problémem setkáte na webu, který není založen na HPOS, vy nebo váš vývojář jste pravděpodobně změnili datový typ meta_hodnota pole v WordPress postmeta tabulka.

Technické údaje #

  • TEXT maximální délka: 65 535 bajtů.
  • DLOUHÝ TEXT maximální délka: 4 GB.

FooEvents ukládá údaje o jednotlivých lístcích, jako například:

  • ID vstupenek
  • Údaje o účastnících
  • Informace o akci
  • Další meta vstupenky

Všechno je to serializováno do jediného meta_hodnota. U velkých objednávek může tento řetězec překročit hodnotu TEXT může ukládat, což způsobuje zkrácení a generování neplatných lístků.

Pokud používáte HPOS a očekáváte velké objednávky, změňte meta_hodnota sloupec v wc_objednávky_meta tabulka z TEXT na DLOUHÝ TEXT.

Důležité: To zahrnuje úpravu základní tabulky WooCommerce. Vždy nejprve zálohujte svou databázi. Pokud si na to netroufáte, požádejte o pomoc svého hostitele nebo vývojáře.

  1. Potvrďte název tabulky
    Většina instalací bude používat: wp_wc_orders_meta
    Pokud používáte vlastní předponu, proveďte příslušné úpravy (například myshop_wc_objednávky_meta).
  2. Příklad spuštění příkazu SQL (upravte název tabulky podle potřeby)
    ALTER TABLE `wp_wc_orders_meta` MODIFY `meta_value` LONGTEXT NULL;
  3. Ověřit
    • Ujistěte se, že dotaz proběhne bez chyb.
    • Zadejte zkušební objednávku s velkým počtem lístků a ověřte, zda jsou lístky generovány podle očekávání.

Poruší to WooCommerce nebo HPOS? #

Ne. Tato změna je bezpečná a odpovídá způsobu, jakým WordPress již ukládá metadata:

  • Jádro WordPress a WooCommerce již používají DLOUHÝ TEXT pro meta_hodnota v postmeta tabulka.
  • Změna meta_hodnota na adrese wc_objednávky_meta z TEXT na DLOUHÝ TEXT pouze zvyšuje množství dat, které lze uložit; nemění způsob, jakým WooCommerce nebo FooEvents čtou nebo zapisují data.

To znamená:

  • Vždy proveďte úplnou zálohu databáze první.
  • V ideálním případě tuto změnu otestujte na stagingová stránka před jeho použitím ve výrobě.