Hi @lambrosioanu
I’m glad you reached out. Let me help you with this one.
Thank you for bringing this to our attention. Upon checking, it appears this issue has already been reported to us. Rest assured, we’ve created an internal ticket [ET-2277] to address it, and I’ve made sure to include your specific use case to highlight its importance to our team.
We prioritize bugs by taking into consideration the number of users impacted as well as how the bug impacts one’s ability to run an event/sell tickets. We don’t have a specific timeline as to when this issue will be resolved, but trust that our team is aware. Our team communicates updates and bug fixes in our newsletter and via our changelog. We’ll also update you through this thread once the fix is out.
In the meantime, you can do the following workaround:
Step 1: Remove the Corrupted Option
The first step is to clean the corrupted option from your database. You can do this in one of two ways:
- If Your Site is Accessible:
Add the following snippet to your site and load it once to clean the corrupted option:
add_action( 'init', fn() => delete_option( 'tribe_pue_key_notices' ), 1 );
- If Your Site is Inaccessible:
Run the following SQL command directly in your database to remove the corrupted option:
DELETE FROM wp_options WHERE option_name='tribe_pue_key_notices';?
Important: Ensure you’re using the correct database table prefix (e.g., wp_). Some sites use custom prefixes, so double-check this before running the query.
Step 2: Add a Temporary Snippet
To prevent the issue from recurring until a permanent fix is released, set up the following snippet:
add_action(
'tribe_pue_notices_save_notices',
function ( $notices ) {
foreach ( $notices as $key => &$plugin_lists ) {
// Purge any elements that are not arrays
if ( ! is_array( $plugin_lists ) ) {
unset( $notices[ $key ] );
continue;
}
$plugin_lists = array_unique( $plugin_lists );
foreach ( $plugin_lists as $plugin => $data ) {
$notices[ $key ][ $plugin ] = is_array( $data ) ? array_unique( $data ) : $data;
}
}
update_option( 'tribe_pue_key_notices', $notices ); // move this out of the loop
},
PHP_INT_MAX
);
This ensures that the problematic option won’t get filled with duplicate data over time.
Step 3: Remove the Initial Snippet
If you used the snippet from Step 1 to clean the corrupted option, you can now safely remove it.
I’m happy to help if any other questions are coming up around this topic, otherwise I’ll go ahead and close this ticket.
Thanks again for reporting this issue and for using The Events Calendar! Have a great day.
—
Internal Bug Ticket Reference: ET-2277