Descrición
O plugin de WordPress User Role Editor permíteche cambiar facilmente os perfís e as capacidades dos usuarios.
Só tes que marcar as caixas de verificación das capacidades que queres engadir ao perfil seleccionado e facer clic no botón «Actualizar» para gardar os cambios. Xa está.
Engade novos perfís e personaliza as súas capacidades segundo as túas necesidades, desde cero ou como copia doutro perfil existente.
Pódese borrar un perfil propio innecesario se non hai usuarios aos que estea asignado.
Tamén se pode cambiar o perfil asignado por defecto a cada novo usuario creado.
As capacidades pódense asignar usuario a usuario. Pódense asignar varios perfís a un usuario ao mesmo tempo.
Podes engadir novas capacidades e eliminar capacidades innecesarias que puidesen quedar de plugins desinstalados.
É compatible con multisitio.
Para ler máis sobre «User Role Editor», visita esta páxina
Necesitas máis funcionalidades con soporte de calidade en tempo real? Queres eliminar a publicidade das páxinas de User Role Editor?
Compra a versión Pro.
User Role Editor Pro inclúe módulos adicionais:
- Bloquea os elementos do menú de administración seleccionados para un perfil.
- Oculta os elementos do menú da portada seleccionados para visitantes que non iniciaron sesión, usuarios que iniciaron sesión ou perfís.
- Bloquea os widgets seleccionados no menú «Aparencia» para un perfil.
- Amosa widgets na portada para os perfís seleccionados.
- Bloquea as caixas meta seleccionadas (escritorio, entradas, páxinas, tipos de contido personalizados) para un perfil.
- Módulo «Exportar/Importar». Podes exportar un perfil de usuario a un arquivo local e importalo en calquera sitio de WordPress ou noutros sitios da rede multisitio de WordPress.
- Xestión dos permisos de perfís e usuarios desde a administración da rede en configuracións multisitio. Sincronización con toda a rede cun só clic.
- O módulo «Acceso a outros perfís» permite definir que outros perfís pode ver en WordPress un usuario co perfil actual: menús despregables, p. ex., ao asignar un perfil a un usuario editando o seu perfil de usuario, etc.
- Xestiona o acceso dos usuarios á edición de entradas/páxinas/tipos de contido personalizados mediante listas de ID de entradas/páxinas, autores e taxonomías.
- Xestión do acceso dos usuarios plugin a plugin para as operacións de activar/desactivar plugins.
- Xestión do acceso dos usuarios formulario a formulario para o plugin Gravity Forms.
- Shortcode para amosar o contido que encerra só aos usuarios cos perfís seleccionados.
- Restricións de visualización de entradas e páxinas para os perfís seleccionados.
- Visor de permisos das páxinas da administración
A versión Pro non ten publicidade. Inclúe soporte premium.
Documentación adicional
Podes atopar máis información sobre o plugin «User Role Editor» nesta páxina
Estou dispoñible para responder ás túas preguntas sobre o uso do plugin. Usa os comentarios da páxina do plugin para iso.
Capturas






Instalación
Procedemento de instalación:
- Desactiva o plugin se tes instalada a versión anterior.
- Extrae o contido do arquivo «user-role-editor.zip» no directorio «/wp-content/plugins/user-role-editor».
- Activa o plugin «User Role Editor» desde o menú «Plugins» da administración de WordPress.
- Vai ao elemento de menú «Usuarios»-«User Role Editor» e cambia as capacidades dos perfís estándar de WordPress segundo as túas necesidades.
Preguntas frecuentes
- Funciona con WordPress nun contorno multisitio?
Si, funciona con WordPress multisitio. Por defecto, o plugin funciona para cada sitio da túa rede multisitio igual que para un sitio instalado localmente.
Para actualizar o perfil seleccionado de forma global para a rede, debes activar a caixa de verificación «Aplicar a todos os sitios». Debes ter privilexios de superadministrador para usar User Role Editor en WordPress multisitio.
A versión Pro permite xestionar os perfís de toda a rede desde a administración da rede.
Para ler a sección completa de FAQ, visita esta páxina en shinephp.com.
Comentarios
Colaboradores e desenvolvedores
“User Role Editor” é un software de código aberto. As seguintes persoas colaboraron con este plugin.
Colaboradores“User Role Editor” foi traducido a 30 idiomas. Grazas aos desenvolvedores polas súas contribucións.
Traduce “User Role Editor” ao teu idioma.
Interesado no desenvolvemento?
Revisa o código, bota unha ollada aorepositorio SVN, ou subscríbete ao log de desenvolvemento por RSS.
Rexistro de cambios
[4.66.2] 25.09.2026
- Corrección de seguridade: a protección do perfil de administrador (URE_Protect_Admin::exclude_admin_role()) só excluía o perfil «administrator» da lista de perfís asignables nas pantallas clásicas de edición de usuarios, non nas accións de admin-ajax.php propias do plugin; polo tanto, un usuario coa capacidade «promote_users» (sen a capacidade clave propia do plugin) podía concederse a si mesmo ou a outro usuario o perfil «administrator» mediante a acción AJAX «Engadir perfil»/«Conceder perfís», evitando a mesma protección que a pantalla clásica de Usuarios aplicaba correctamente. Descuberto e comunicado de forma responsable por Humberto (SVO, https://svo.com.br).
- Corrección: a solicitude AJAX do diálogo «Conceder perfís» (get_grant_roles) requiría incorrectamente a capacidade clave propia do plugin en lugar de «promote_users», e rexeitaba os usuarios que só tiñan «promote_users» (a capacidade para a que está deseñada a función Conceder perfís) cun erro de «Permisos insuficientes».
- Corrección: o diálogo «Engadir perfil» seguía amosando o nome do perfil (ID) e o nome visible do perfil introducidos anteriormente despois de engadir un perfil, en lugar de campos baleiros.
- Corrección: abrir a pantalla de edición do perfil dun usuario e saír sen facer ningún cambio podía amosar unha falsa advertencia do navegador «Pode que non se garden os cambios que fixeches» sempre que o usuario tiña asignado algún dos «Outros perfís»; o selector múltiple de Outros perfís agora xera as opcións seleccionadas directamente en HTML en lugar de depender de JavaScript para seleccionalas despois de cargar a páxina.
- Actualización: o diálogo «Borrar perfil» agora lista os perfís que se poden borrar nunha táboa con caixas de verificación (columnas Nome do perfil / ID do perfil) en lugar dun despregable de selección única, para poder borrar varios perfís nunha soa acción; a antiga opción «Borrar todos os perfís sen usar» substitúese por unha caixa de verificación «seleccionar todo» na cabeceira da táboa.
- Actualización: o diálogo «Borrar capacidade» ten agora un campo de texto «Filtro rápido» xunto á súa caixa de verificación «seleccionar todo», para restrinxir a lista de capacidades do mesmo xeito que o fai o campo «Filtro rápido» da páxina principal.
- Actualización: a opción multisitio «Permitir aos non superadministradores crear, editar e borrar usuarios» redúcese a «Permitir aos non superadministradores editar usuarios». A parte de «crear» duplicaba o axuste de rede propio do núcleo de WordPress «Permitir que os administradores do sitio engadan novos usuarios ao seu sitio mediante a páxina «Usuarios -> Engadir usuario»», e a parte de «borrar» concedía unha capacidade que o núcleo de WordPress nunca permite exercer a un administrador dun só sitio (o borrado de usuarios está bloqueado fóra da administración da rede independentemente da capacidade); elimínanse ambas, xunto coa solución temporal de suplantación de superadministrador na que se baseaban.
- Actualización: os arquivos JavaScript propios do plugin (ure.js, settings.js, users.js, user-profile-other-roles.js, users-grant-roles.js) teñen agora versións minimizadas .min.js, xeradas con esbuild; cada un cárgase segundo a constante SCRIPT_DEBUG de WordPress, a mesma convención que xa se usaba para os notify.js/multiple-select.js incluídos (código fonte sen minimizar cando SCRIPT_DEBUG está activado e versión minimizada no resto dos casos).
- Actualización: o CSS propio do plugin (css/ure-admin.css) ten agora unha versión minimizada .min.css, xerada con esbuild; cárgase segundo a constante SCRIPT_DEBUG de WordPress, a mesma convención que xa se usaba para os arquivos JS propios do plugin (código fonte sen minimizar cando SCRIPT_DEBUG está activado e versión minimizada no resto dos casos).
- Actualización: as funcións globais soltas de js/users-grant-roles.js (diálogo Conceder perfís, botóns Engadir/Revogar perfil da páxina Usuarios) consolidáronse nun único obxecto URE_Users_Grant_Roles.
- Actualización: substituíuse a forma abreviada obsoleta de jQuery .click()/.click(fn) para vincular eventos por .on(‘click’, fn) en users-grant-roles.js e users.js, o que elimina unha advertencia de obsolescencia de jQuery Migrate na páxina Usuarios.
- Actualización: as funcións globais soltas de js/users.js (o diálogo do botón «Sen perfil» da páxina Usuarios) consolidáronse nun único obxecto URE_No_Role_Users; actualizouse en consonancia o marcado onclick do botón en URE_Assign_Role::show_html().
- Actualización: as funcións globais soltas de js/user-profile-other-roles.js (o control de selección múltiple «Outros perfís» do perfil de usuario) consolidáronse nun único obxecto URE_User_Profile_Other_Roles.
- Actualización: as funcións globais soltas de js/settings.js (o diálogo de confirmación «Restablecer os perfís de usuario» da páxina de axustes) consolidáronse nun único obxecto URE_Settings.
[4.66.1] 25.08.2026
- Corrección: a propiedade URE_Assign_Role::$lib cambiouse a protexida.
- Corrección: a función privada URE_Uninstall::delete_options() cambiouse a protexida.
- Corrección: URE_Uninstall::init_options_list() facía referencia a ‘ure_task_queue’, que nunca coincidía con URE_Task_Queue::OPTION_NAME (‘ure_tasks_queue’), polo que esa opción nunca se borraba ao desinstalar.
- Corrección: URE_Core::define_files() – a clase URE_Uninstall non se engadía correctamente; escribíase null en lugar do nome da clase.
- Corrección: activar a versión Pro cando a gratuíta xa estaba activa provocaba un erro fatal «Cannot redeclare ure_log_error()»; a declaración da función agora está protexida con function_exists().
- Corrección: activar este plugin cando o plugin Pro emparellado xa estaba activo deixaba ambos activos en silencio en lugar de desactivar o emparellado, porque a chamada a register_activation_hook() nunca se executaba nesa solicitude; agora rexístrase como función independente directamente no arquivo principal do plugin, antes da comprobación class_exists(‘URE_Loader’) que a omitía.
[4.66] 19.08.2026
- Actualización: marcado como compatible con WordPress 7.1
- A versión de PHP requirida aumentou ata a 7.4
- A versión de WordPress requirida aumentou ata a 4.6
- Actualización: mellorouse o código de carga do plugin.
- Actualización: o plugin non usa constantes globais de PHP definidas polo propio plugin. Os datos necesarios movéronse dentro das clases.
- Actualización: a saída da clase URE_Admin_Notice escapouse coas funcións esc_attr() e wp_kses_post().
- Corrección de seguridade: as consultas SQL de URE_Editor::direct_network_roles_update() e leave_roles_for_blog() pásanse a $wpdb->prepare() con marcadores de posición %s reais.
- Corrección de seguridade: URE_Editor::get_caps_columns_quant() agora require un nonce válido antes de escribir un dato transitorio de preferencias de visualización desde $_POST, o que pecha unha pequena brecha CSRF.
- Corrección: URE_Protect_Admin usaba un «&» a nivel de bits en lugar dun «&&» lóxico ao comprobar un array de capacidades, o que podía lanzar un TypeError en PHP 8; corrixiuse para usar «&&», e a cláusula SQL IN() relacionada agora está reforzada con array_map(‘absint’, …).
- Actualización: as accións nonce usadas nas páxinas Axustes/Ferramentas agora teñen un ámbito por formulario (ure_settings_update, ure_addons_settings_update, ure_default_roles_update, ure_settings_ms_update, ure_settings_tools_exec) en lugar dunha única cadea compartida.
- Actualización: engadiuse escapado adicional da saída en URE_View, URE_Role_View e URE_Role_Additional_Options (slugs de perfís/capacidades, wp_json_encode() en lugar de json_encode(), esc_url() nas accións dos formularios), ademais dunha comprobación de capacidades de defensa en profundidade en URE_Role_Additional_Options::save().
- Actualización: engadiuse rel=”noopener noreferrer” ás ligazóns externas que se abren con target=”_new”.
- Actualización: as cadeas de texto escritas directamente no código da barra de ferramentas do editor de perfís agora pódense traducir.
- Corrección: URE_Assign_Role usaba o marcador de posición SQL %i, que necesita WordPress 6.2 ou superior, por debaixo do mínimo declarado polo plugin; substituíuse pola interpolación directa dos nomes das táboas internas.
- Corrección: URE_Editor::reset_user_roles() tiña unha mensaxe de wp_die() sen escapar; engadiuse máis escapado da saída (esc_url(), esc_html(), absint()) en URE_Base_Lib, URE_Editor, URE_User_Other_Roles e URE_User_View.
- Corrección: varias comparacións de variables de solicitude/resultados da base de datos que se podían evitar mediante a conversión de tipos de PHP agora son estritas, incluída a comprobación «non podes eliminar o teu propio perfil de administrador» de URE_Grant_Roles::is_try_remove_admin_from_himself().
- Corrección: URE_Base_Lib::set() agora rexeita correctamente as propiedades descoñecidas en lugar de crealas en silencio; URE_View declara explicitamente a súa propiedade $advert.
- Actualización: $_SERVER[‘REQUEST_URI’] agora valídase e pásase por unslash antes de sanealo en URE_Lib::is_right_admin_path() e URE_User_Other_Roles::is_user_profile_extention_allowed().
- Actualización: os ID de perfil enviados agora sanéanse (sanitize_key(), wp_unslash()) en URE_Editor, e os seus parámetros de solicitude ‘object’/de selección de perfil están limitados a valores coñecidos.
- Actualización: URE_Base_Lib::get_blog_ids() agora usa get_sites() en lugar dunha consulta directa á base de datos.
- Actualización: URE_Capability::revoke_caps() agora usa get_users() en lugar dunha consulta directa á base de datos.
- Actualización: URE_Protect_Admin::has_administrator_role() agora usa user_can() en lugar dunha consulta directa á base de datos.
[4.65] 21.05.2026
- Actualización: marcado como compatible con WordPress 7.0
- Actualización: modificouse o marcado das páxinas para adaptalo aos cambios de CSS de WordPress 7.0.
- Actualización: engadiuse a comprobación “defined(‘ABSPATH’)” a todos os arquivos PHP para impedir a execución directa dos arquivos PHP.
- Actualización: úsanse as funcións sanitize_text_field(), sanitize_key() e sanitize_url() para protexer os datos introducidos polo usuario antes de procesalos.
- Actualización: engadiuse a comprobación do campo _nonce antes de actualizar os datos, ademais da proba que xa se facía no nivel superior.
O arquivo changelog.txt contén a lista completa de cambios.
