Uno dei nostri utenti utilizzava WP Staging Pro insieme a WPML (incluso il Translation Management) su diversi siti web. Su uno in particolare, il push dal sito di staging a quello live tramite WP Staging Pro causava immediatamente il riempimento della tabella wp_options con voci aventi wp_name ‘wpml_translation_services‘. Non appena venivano eliminate, non venivano create altre voci… fino al successivo push da staging a live. Abbiamo ricondotto questa voce al WPML Translation Management. Se è installato solo WP Staging Pro o solo WPML Translation Management, questa voce non viene creata, ma quando entrambi sono installati e le modifiche vengono spinte da staging a live, il problema si ripresenta su questo specifico sito. Il supporto WPML ci ha fornito una soluzione a questo problema che vogliamo pubblicare qui per chiunque riscontri lo stesso errore: Sembra che il problema sia dovuto alla mancanza di indicizzazione sulla tabella wp_options. L’indice della tabella options è molto specifico e cruciale, e qualsiasi plugin o tema potrebbe creare problemi in sua assenza. Per favore, prova i seguenti passaggi dopo un backup completo del sito:
- Accedi al server del database utilizzando PHPMyAdmin o strumenti simili.
- Scegli il database ed esegui prima le seguenti query:
DELETE FROM `wp_options` WHERE `option_name` = 'wpml_dependencies:needs_validation';DELETE FROM `wp_options` WHERE `option_name` = 'jetpack_callables_sync_checksum';DELETE FROM `wp_options` WHERE `option_name` = 'gf_upgrade_lock';DELETE FROM `wp_options` WHERE `option_name` = 'wpstg_license_key';DELETE FROM `wp_options` WHERE `option_name` = 'wpstg_license_status';DELETE FROM `wp_options` WHERE `option_name` = 'wpstg_settings';DELETE FROM `wp_options` WHERE `option_name` = 'fs_accounts';DELETE FROM `wp_options` WHERE `option_name` = 'jetpack_plugin_api_action_links';DELETE FROM `wp_options` WHERE `option_name` = 'jpsq_sync_checkout';DELETE FROM `wp_options` WHERE `option_name` = 'stats_cache'; - Poi esegui la seguente query per indicizzare la tabella options:
ALTER TABLE `wp_options` ADD UNIQUE `option_name` (`option_name`); - Crea un nuovo sito di staging, perché c’è un’alta probabilità che lo stesso bug si ripresenti sul sito di staging esistente.
- Apporta modifiche al nuovo sito di staging e fai il push verso il sito live.
- Quindi verifica se stai ottenendo più voci per wpml_translation_services oppure no.