Visão geral do problema
Se você tiver um usuário com uma “função personalizada”, por exemplo, “Gerente da loja” baseada na função de “Editor”, ele não poderá editar as traduções existentes.
Solução alternativa
Este problema foi corrigido em WPML 4.6.9. Atualizar resolve isso no seu site, então você só precisa desta solução alternativa se ainda não puder atualizar.
1. Em wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php na linha 217, altere o método – \WPML\LIB\WP\User::isEditor para:
public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}2. No functions.php do tema, adicione este código:
add_filter('wpml_editor_capability', 'my_editor');
function my_editor(){
$user = wp_get_current_user();
if (in_array('second_custom_role', (array)$user->roles, true)){
return 'second_custom_role';
}
}Altere a parte second_custom_role para o nome da sua função personalizada, neste exemplo shop_manager.