- Estado
- Abierto
- Etiquetas de temática
- Bug
Resumen del problema
En la pestaña Traductores de la página en WPML > Gestión de traducción hay una opción para añadir un gestor de traducción que abre un cuadro de búsqueda. En algunas situaciones, buscar usuarios válidos no devuelve ningún usuario para seleccionar.
Esto ocurre cuando hay varios roles con el permiso mínimo obligatorio, como sucedería en un sitio de WooCommerce, por ejemplo, donde tanto el rol de Gestor de la tienda como el de Editor del núcleo tienen el permiso obligatorio.
Solución alternativa
No hay una solución alternativa sencilla que no implique editar un archivo del plugin de WPML.
Puede editar el archivo plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php.
Localice esta línea (alrededor de la línea 144):
$preparedUserQuery .= $this->wpdb->prepare( " AND c.meta_value LIKE %s", "%{$required_wp_role}%" );
y cambie el AND por OR de esta manera:
$preparedUserQuery .= $this->wpdb->prepare( " OR c.meta_value LIKE %s", "%{$required_wp_role}%" );
Luego localice esta línea (alrededor de la línea 168):
$users = $this->wpdb->get_col( $preparedUserQuery );
y luego añada una segunda línea inmediatamente después, de esta manera:
$users = $this->wpdb->get_col( $preparedUserQuery ); $users = array_unique( $users );
Como siempre al hacer cualquier cambio de este tipo, asegúrese de tener una copia de seguridad actualizada antes de proceder.