WPML
Status
Aberto
Tags de tópico
Bug

Visão geral do problema

Na aba Tradutores da página em WPML > Gerenciamento de tradução, há uma opção para adicionar um gerente de tradução que abre uma caixa de pesquisa. Em alguns cenários, pesquisar por usuários válidos não retorna nenhum usuário para seleção.

Isso ocorre quando há várias funções com a permissão mínima exigida, como aconteceria em um site WooCommerce, por exemplo, onde tanto a função de Gerente da loja quanto a de Editor do núcleo têm a permissão exigida.

Solução alternativa

Não há uma solução alternativa simples que não envolva a edição de um arquivo do plugin WPML.

Você pode editar o arquivo plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.

Localize esta linha (por volta da linha 144):

$preparedUserQuery .= $this->wpdb->prepare( " AND c.meta_value LIKE %s", "%{$required_wp_role}%" );

e altere o AND para OR desta forma:

$preparedUserQuery .= $this->wpdb->prepare( " OR c.meta_value LIKE %s", "%{$required_wp_role}%" );

Em seguida, localize esta linha (por volta da linha 168):

$users      = $this->wpdb->get_col( $preparedUserQuery );

e adicione uma segunda linha logo em seguida, desta forma:

$users      = $this->wpdb->get_col( $preparedUserQuery );
$users = array_unique( $users );

Como sempre, ao fazer qualquer alteração desse tipo, certifique-se de ter um backup atualizado antes de prosseguir.

Todos os problemas conhecidos →