¿Sabe cómo puede conectarse a un sitio de WordPress como autor y luego no eliminar las publicaciones de otros ni administrar los conceptos básicos del sitio web, como temas y complementos? El sorprendente sistema útil que maneja todo esto se llama roles y capacidades y lo exploraremos con más detalle en este proyecto de WordPress de fin de semana, incluidos algunos remedios basados en código para adaptar el rol y las capacidades para satisfacer las necesidades de su sitio. ¿Cuáles son los roles y capacidades? Este subsistema de WordPress es responsable de determinar qué acciones pueden tomar cualquier usuario del sitio web. Esto reduce el trastorno en el tablero (los autores/contribuyentes no verán muchos elementos del menú) y también aumenta la seguridad simplemente no permitiendo ciertas acciones para algunos usuarios.
El sistema es mucho más que una forma de ocultar elementos. En cuanto a la interfaz de uso, todo lo que puede ver es que falta el enlace “moverse a la basura”. Sin embargo, si visitara la URL de este enlace, aún no podría eliminar una publicación como permiso o verificado antes de tomar una acción. Esto evita hechos incorrectos intencionales y también lesiones involuntarias. Capacidades Las capacidades son los elementos básicos del sistema: determinan las acciones que un usuario puede hacer. Por ejemplo, todos los administradores tienen la capacidad de publish_pages. Esto les permite publicar una página (sin sorpresa real allí). Otros grupos, como autores o suscriptores, no tienen esta capacidad, por lo tanto, no pueden publicar publicaciones.
Hay más de 50 capacidades que rigen todo, desde la administración de complementos, publicaciones, opciones, redes de varios estados en marcha, etc. Veremos su uso más adelante en este artículo. ROPS ROLL ROPS son simplemente capacidades agrupadas en un paquete. Cuando me referí a “otros grupos como los autores” en este momento, a los que realmente referí era “otros roles”. WordPress tiene seis roles por defecto: super administrador
Administrador
Editor
Autor
contribuyente
Abonado
Estos roles son todos grupos de un conjunto específico de capacidades. Los suscriptores solo tienen la capacidad de leer, los colaboradores también tienen delete_posts y edit_posts, lo que les permite crear/modificar/eliminar sus propias publicaciones.
Los beneficios de los roles y habilidades son muchos. Este sistema es la columna vertebral de la administración de usuarios de WordPress y hace un gran trabajo para separar los grupos de usuarios. Entonces, por un lado, tenemos la ventaja de poder trabajar de manera efectiva con nuestros usuarios.
Interfaz de administración de usuarios de WordPress

Esto nos permite, a su vez, administrar mejor el contenido de un sitio. Asegurar que ofrezcamos el menor acceso posible, pero según sea necesario, es la base de un sistema bien engrasado. Los editores no ven el tema y las opciones de complementos porque no necesitan: los autores no pueden eliminar las publicaciones de otros porque no lo necesitan. Cuando un administrador analiza el papel de alguien, sabe qué tan pronto y qué no puede hacer el usuario, lo que hace que el equipo funcione (y la resolución de problemas) mucho más fácil.
Vista de un suscriptor en el administrador de WordPress

Finalmente, el sistema de capacidades tiene un gran beneficio de seguridad, especialmente cuando se combina con el no sistemas, que verifica tanto la intención como los permisos. Siempre que realice alguna acción, WordPress verificará si tiene la capacidad adecuada. Si lo hace, use no cess para verificar la intención y si todo está bien, la acción se realiza, de lo contrario recibe un mensaje de error, algo como el siguiente: esto sucede cuando no se le permite hacer algo, pero intente de todos modos de todos modos
Pensemos por qué se necesitan NONC. El enlace para eliminar una publicación podría verse así: http: //wordpress.local/wp-admin/post.php? Post = 1 & action = delete. Si accede al enlace como administrador conectado, la publicación se eliminará. Si WordPress no verifica de dónde viene, esto podría ser un problema. Simplemente podría publicar un enlace para eliminar el contenido de su sitio web en cualquier lugar; si hace clic en él, tiene problemas. Esta es la razón por la cual las capacidades son excelentes para asegurarse de tener permisos para realizar la acción, pero necesitamos no cess para verificar la intención. Si desea obtener más información, consulte nuestro artículo sobre Nonces.

Usando roles y habilidades al crear complementos y temas, es posible que desee limitar ciertas acciones a roles. Por ejemplo, si crea un complemento SEO, es posible que desee restringir su uso a autores, editores y administradores. También le gustaría restringir las opciones principales solo a los administradores. Para hacer esto, debe usar los parámetros actuales_use_can () o los parámetros específicos de las funciones de WordPress existentes. Echemos un vistazo a ambos: el esencial D0F862996088491820 está cargado
El ejemplo anterior muestra cómo se puede agregar un elemento adicional del menú de nivel superior al menú de administración. El add_men_page () tiene un parámetro para definir la capacidad necesaria para ver el elemento del menú. En nuestro caso, es Management_options, lo que significa que, por defecto, solo los administradores podrán verlo.
Puede probar las capacidades solo utilizando las funciones Current_User_can () (o user_can ()). Hemos escondido un enlace de limpieza de la vista utilizando este método:
Se carga el D0F8B862996088491820 esencial
Tenga en cuenta que he usado capacidades en ambos casos, aunque es bastante obvio que lo que realmente trato de hacer es proporcionar acceso a los administradores. Hay dos razones por las que siempre debe usar capacidades. Uno tiene que ver con la forma en que se construye la función de verificación. En algunos casos, si especifica un rol, será cierto solo para ese papel, no para los roles “anteriores”. Consulte el boleto TRAC #22624 para obtener más información.
La segunda razón tiene que lidiar con la arquitectura de roles y capacidades. Los roles son nombres completamente arbitrarios atribuidos a una lista completamente arbitraria de capacidades. De hecho, no existe una garantía real de que un administrador realmente tenga la gerencia del hombre. WordPress se atribuye de forma predeterminada, pero el uso del código o complementos se puede agregar/eliminar de los roles o incluso de ciertos usuarios. Esto hace que el código basado en roles sea inestable, así que siempre use capacidades. Creando roles personalizados al crear una aplicación más grande, es posible que necesite roles personalizados, tal vez solo para usuarios separados. Si transmite sus propios anuncios en su sitio, es posible que desee crear un papel de “empresa”. Los usuarios que pertenecen a ese rol pueden tener una capacidad especial que les permite ver una página de estadísticas que muestre el rendimiento de sus anuncios. El bacalao básico para lograr esto es: usar add_role () creamos un rol y agregamos las capacidades que haríamos como. que el papel debería tener el tercer parámetro. El primer parámetro es el nombre del rol, el segundo es el título que se muestra.
Se carga el D0F8B862996088491820 esencial
Porque la función add_role () crea el rol o devuelve nulo si puede usarlo de forma segura en cualquier lugar del código. Dicho esto, de hecho no hay razón para ejecutar esta función todo el tiempo y su introducción en un gancho de activación es mi forma favorita de trabajar con ella. Eche un vistazo a un ejemplo más avanzado a continuación:
Se carga el D0F8B862996088491820 esencial

Hay dos diferencias. En primer lugar, envolví mi código en una función de activación. Se ejecuta solo una vez cuando se activa el complemento y creará el papel si no existe. Además, en lugar de notar todas las capacidades que quiero, decidí copiar las capacidades de roles del autor y luego agregar la única para ver las estadísticas publicitarias. Para hacer esto, utilizamos la función get_role () para asumir el papel del autor y simplemente copiamos la lista de capacidades en el parámetro correcto del add_rol ().
Una nota sobre los niveles de usuario antes de la versión 2.0 de WordPress (hace mucho tiempo) se utilizó un sistema de nivel de usuario. En 2.0 fue reemplazado por el sistema de roles y capacidades muy mejorados. Desde aquí viene la capacidad de nivel_x de los fragmentos de código anteriores. No es estrictamente necesario y estoy seguro de que muy pocos sistemas lo usan hoy. Si desea garantizar la máxima compatibilidad, agregarla, puede encontrar una guía útil para el códice o en la captura de pantalla a continuación. Si no desea agregar niveles de usuario, asegúrese de que su trabajo sea compatible solo con la versión 2.0 y superior.
El antiguo sistema de nivel de usuario de WordPress
Agregar capacidades personalizadas Los ejemplos anteriores ya han mostrado cómo puede agregar capacidades a los roles. Simplemente podemos enviar una lista al add_role () o usar add_cap () en un objeto de rol. Sin embargo, puede agregar una sola capacidad de usuario. Para hacer esto, necesitaremos usar el método add_role () en un objeto de usuario. Aquí hay un breve ejemplo que le muestra cómo. El esencial D0F862996088491820 está cargado.
Las capacidades personalizadas son extremadamente útiles para administrar los flujos de usuarios en su sitio, especialmente si tiene una aplicación extremadamente interactiva. Puede ejecutar un servidor de anuncios y tener roles separados para compradores de anuncios, vendedores de anuncios, administradores de cuentas, etc. La capacidad de cambiar fácilmente quién puede ver/hacer lo que es un gran activo como desarrollador. Complementos de rol y capacidad

El propósito del papel
El puntaje de roles es para los gerentes anales-retentivos, le brinda un control granular sobre cada aspecto de sus roles y capacidades. Combine y coincida para obtener cualquier combinación y configure sus permisos correctamente. ¡Trate de no pasar por alto, muchos roles y portadas mixtas pueden ser una vista terrible! ¿Estás interesado en el rol de Scoper?

Descargar
Miembros
Los miembros de Justin Tadlock, son esencialmente un front-end para el sistema de roles y capacidades. Le permite crear roles y asignarles capacidades y administrar todo esto en una interfaz de usuario apropiada. ¿Estás interesado en los miembros?
Descargar
Gerente de capacidades mejoradas

Otra interfaz de uso frontal para el módulo de rol y capacidades. No es tan popular como los miembros, pero aún tiene un número considerable de 30,000 instalaciones activas. Haga casi todo lo que esperaría, podrá agregar/editar/cambiar roles y capacidades a su contenido cardíaco. ¿Está interesado en mejorar la capacidad de capacidades? Descargar?
Presentación general El sistema de roles y capacidades de WordPress está en gran medida subyacente, incluso si le brinda enormes beneficios cuando se trata de la gestión de los usuarios. ¡Espero que este artículo te haya dado el impulso de ensuciarte las manos! Recuerda no ir a la tabla. Es posible crear muchos roles con docenas de capacidades, pero siempre debe detenerse y pensar en lo que es mejor para el sistema en su conjunto. En general, algunos roles con algunas capacidades deberían ser suficientes para satisfacer la mayoría de las necesidades. ¿Tiene un proyecto que se basa en gran medida en roles y capacidades personalizadas? ¿Te gusta o no me gusta especialmente la forma en que WordPress logra esto? Háganos saber en los comentarios a continuación. Etiquetas:
roles y habilidades

Proyectos de WordPress de los fines de semana

Roles y habilidades de WordPress (más cambios basados en código)
Tags Roles y habilidades de WordPress (más cambios basados en código)
homefinance blog