- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.6.7
- Решено в
- WPML 4.9
- Теги темы
- Bug, Performance
Обзор проблемы
Если Вы используете WPML Перевод строк на сайте WordPress с большим количеством пользователей, Вы можете столкнуться со значительной задержкой при переходе на страницу WPML > Перевод строк. Эта проблема вызвана конкретным запросом, который выполняется всё медленнее по мере роста числа пользователей.
Обходное решение
Перед выполнением следующих действий обязательно создайте полную резервную копию Вашего сайта.
- Откройте файл …/wp-content/plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.
- Найдите строку 127.
- Замените:
$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() . "%" ); - На:
$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() . "%" );