- Statut
- Résolu
- Signalé pour
- WPML Multilingual CMS 4.6.7
- Résolu dans
- WPML 4.9
- Étiquettes de sujet
- Bug, Performance
Aperçu de l’anomalie
Si vous utilisez WPML Traduction de chaînes sur un site WordPress avec un nombre important d’utilisateurs, vous pouvez constater un délai important lors de l’accès à la page WPML > Traduction de chaînes. Ce problème provient d’une requête spécifique qui devient de plus en plus lente à mesure que le nombre d’utilisateurs augmente.
Solution de contournement
Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/wp-content/plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.
- Recherchez la ligne 127.
- Remplacez :
$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() . "%" ); - Par :
$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() . "%" );