This is most likely caused by a data type limitation in your sites database. FooEvents stores ticket data for an order in a single serialized meta_value. On large orders (roughly 30+ tickets in one order, depending on how much data each ticket stores), that serialized value can exceed the maximum size allowed for a TEXT field. When that happens:
- The order meta is truncated or not fully saved.
- FooEvents doesn’t have all the data it expects.
- Tickets for that order may not be generated correctly or at all.
Who is affected? #
This should only affects stores that:
- Have HPOS (WooCommerce High-Performance Order Storage) enabled.
- Expect to process large ticket orders (around 30 or more tickets in a single order).
If you are ne using HPOS, you should not be affected by this issue.
Why doesn’t this affect non-HPOS sites? #
On non-HPOS sites, WooCommerce uses the standard WordPress postmeta table (for example wp_postmeta) for order meta.
Na adrese postmeta... meta_value column is already defined as LONGTEXT, which can store much larger values than TEXT.
Because of that, non-HPOS sites can safely store large FooEvents ticket meta values without any changes.
If you do experiance this issue on a non-HPOS site, you or your developer may gave changed the data type of the meta_value field in the WordPress postmeta table.
Technical details #
- TEXT max length: 65,535 bytes.
- LONGTEXT max length: 4GB.
FooEvents stores per-ticket data such as:
- Ticket IDs
- Údaje o účastnících
- Event information
- Additional ticket meta
All of that is serialized into a single meta_value. On large orders, that string can exceed what TEXT can store, causing truncation and broken ticket generation.
Recommended fix #
If you’re using HPOS and expect large ticket orders, change the meta_value column in the wc_orders_meta table from TEXT na LONGTEXT.
Důležité: This involves modifying a WooCommerce core table. Always back up your database first. If you’re not comfortable doing this, ask your host or a developer to assist.
- Confirm the table name
Most installs will use: wp_wc_orders_meta
If you’re using a custom prefix, adjust accordingly (for examplemyshop_wc_orders_meta). - Example run the SQL command(adjust table name accordingly)
ALTER TABLE `wp_wc_orders_meta` MODIFY `meta_value` LONGTEXT NULL; - Verify
- Make sure the query completes without errors.
- Place a test order with a large number of tickets and confirm tickets are generated as expected.
Will this break WooCommerce or HPOS? #
No. This change is safe and aligns with how WordPress already stores meta:
- WordPress core and WooCommerce already use LONGTEXT pro meta_value v postmeta table.
- Changing meta_value na adrese wc_orders_meta z TEXT na LONGTEXT simply increases how much data can be stored; it does not change how WooCommerce or FooEvents read or write the data.
That said:
- Always take a full database backup first.
- Ideally, test this change on a staging site before applying it to production.