WPML
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() . "%"
    		);

Tutti i problemi noti →