Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

paginas privadas según roles

Estas en el tema de paginas privadas según roles en el foro de WordPress en Foros del Web. Hola buenas, estoy haciendo una plantilla para wordpress para una autoescuela que quiere ofrecer temarios para el carnet de conducir, pero solo para usuarios que ...
  #1 (permalink)  
Antiguo 26/03/2017, 15:31
 
Fecha de Ingreso: mayo-2011
Mensajes: 282
Antigüedad: 12 años, 11 meses
Puntos: 3
paginas privadas según roles

Hola buenas, estoy haciendo una plantilla para wordpress para una autoescuela que quiere ofrecer temarios para el carnet de conducir, pero solo para usuarios que los compren. He creado los roles de los distintos alumnos que pueden accecer a los cursos mediante un plugin, y en el documento single.php he puesto el siguiente codigo para que el alumno que tiene un rol de estos pueda acceder al curso y sino no pueda, y le muestre un boton para comprar el temario:

<?php
if(current_user_can('estudiantecoche ') || current_user_can('estudiantecamion') || current_user_can('estudiantemoto') {
mostrar el temario
} else {
mostrar el boton para matricularse
}
?>

Pero no se porque no me funciona, no me acepta, alguien sabria decirme como seria el codigo para conseguir esto??

Muchas gracias por adelantado
  #2 (permalink)  
Antiguo 06/04/2017, 15:59
Avatar de CircuitoX  
Fecha de Ingreso: julio-2008
Mensajes: 756
Antigüedad: 15 años, 8 meses
Puntos: 21
Respuesta: paginas seguras

Recomiendo siempre usar este script para la creación de una plantilla para un cliente:

http://underscores.me/

En caso de que sea un proyecto personal entonces uno lo puede crear uno mismo.

Acerca del tema:

El operador logico or en español O de oso y no cero 0 es || el cual retorna verdadero cuando una de las 3 condiciones sea verdadera y solo necesita un valor boolean true para terminar su condición.

|| retorna falso cuando 2 condiciones sean falsas.


Relacionado:
http://www.php.net/manual/en/languag...rs.logical.php

Nota: Trata de habilidar debug mode in wordpress mediante wp_config.php
__________________
Diseño Robotico en Arequipa / Desarrollo web / Sitios / Paginas / 99 css3
  #3 (permalink)  
Antiguo 11/04/2017, 12:05
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 14 años, 9 meses
Puntos: 429
Respuesta: paginas seguras

Por favor usa el desplegable Highlight del editor para mostrar código y se verá mejor.

Suponiendo que esas capacidades estén bien creadas te faltaría cerrar paréntesis en la segunda línea de tu función.

Código PHP:
Ver original
  1. <?php
  2. if ( current_user_can('estudiantecoche ') || current_user_can('estudiantecamion') || current_user_can('estudiantemoto') ) { //cierra paréntesis
  3. mostrar el temario
  4. } else {
  5. mostrar el boton para matricularse
  6. }
  7. ?>

El tema es que esa función no garantiza éxito porque está creada para comprobar competencias (si un usuario puede hacer algo) y no roles. Tú necesitas roles, no capacidades, porque los usuarios no van a hacer nada en tu sitio (administrar, editar, etc), simplemente tienes diferentes tipos de usuarios, o usuarios con diferentes roles.

En realidad yo creo lo que deberías usar es un plugin de membresía o algo parecido. Pero ¿cómo se matriculan? porque si estás usando un plugin para ello lee la documentación ya que es posible que cree su propio rol de usuario.

Echale un vistazo a este post, lo explica muy bien: https://cybmeta.com/comprobar-capacidades-y-no-roles

Nota: He editado tu título que antes era "Páginas seguras" para intentar describir mejor lo que planteas.
__________________
Mi blog personal | Mi G+

Última edición por zanguanga; 11/04/2017 a las 12:20 Razón: añadido enlace y nota

Etiquetas: plugin, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.