- Status
- Gelöst
- Gemeldet für
- WPML Multilingual CMS 4.6.7
- Gelöst in
- WPML 4.9
- Themen-Tags
- Bug, Performance
Übersicht über das Problem
Wenn Sie WPML String-Übersetzung auf einer WordPress-Website mit einer großen Anzahl von Benutzern verwenden, kann es beim Aufrufen der Seite WPML > String-Übersetzung zu einer erheblichen Verzögerung kommen. Dieses Problem wird durch eine bestimmte Abfrage verursacht, die mit wachsender Benutzerzahl zunehmend langsamer wird.
Problemumgehung
Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.
- Öffnen Sie die Datei …/wp-content/plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.
- Suchen Sie nach Zeile 127.
- Ändern Sie:
$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() . "%" ); - In:
$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() . "%" );