- Stato
- Risolto
- Segnalato per
- WPML Multilingual CMS 4.6.7
- Risolto in
- WPML 4.9
- Tag dell’argomento
- Bug, Performance
Panoramica del problema
Se utilizzi WPML Traduzione stringhe su un sito WordPress con un numero significativo di utenti, potresti riscontrare un notevole ritardo quando accedi alla pagina WPML > Traduzione stringhe. Questo problema deriva da una query specifica che diventa sempre più lenta all’aumentare del numero di utenti.
Soluzione alternativa
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.
- Cerca la riga 127.
- Sostituisci:
$preparedUserQuery = $this->wpdb->prepare( "SELECT u.id FROM {$this->wpdb->users} u INNER JOIN {$this->wpdb->usermeta} c ON c.user_id=u.ID AND CAST(c.meta_key AS BINARY)=%s AND c.meta_value {$compare} %s", "{$this->wpdb->prefix}capabilities", "%" . $this->get_capability() . "%" ); - Con:
$preparedUserQuery = $this->wpdb->prepare( "SELECT u.id FROM {$this->wpdb->users} u INNER JOIN {$this->wpdb->usermeta} c ON c.user_id=u.ID AND c.meta_key=%s AND c.meta_value {$compare} %s", "{$this->wpdb->prefix}capabilities", "%" . $this->get_capability() . "%" );