WPML
Status
Resolvido
Relatado para
WPML Multilingual CMS 4.6.7
Resolvido em
WPML 4.9
Tags de tópico
Bug, Performance

Visão geral do problema

Se você estiver usando o WPML Tradução de Strings em um site WordPress com um número significativo de usuários, pode notar uma demora substancial ao acessar a página WPML > Tradução de Strings. Esse problema decorre de uma consulta específica que fica cada vez mais lenta à medida que o número de usuários cresce.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.

  • Procure a linha 127.

  • Altere:
    		$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() . "%"
    		);


  • Para:
    		$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() . "%"
    		);

Todos os problemas conhecidos →