Avisos
Vaciar todo

[Resuelto] cambiar url del logo segun rol del usuario

5 Respuestas
2 Usuarios
0 Reactions
12 Visitas
Carlos
Respuestas: 482
Reputable Member
Topic starter
 

Buenas,

Existe algun plugin para cambiar la url del logo segun el rol de usuario o algun codigo para hacerlo?

He visto alguno pero no me aclaro bien donde colocar las url y el rol de usuario.

Un saludo.

Contenido solo visible a usuarios registrados


 
Respondido : 08/10/2021 10:15 pm
Bruno
Respuestas: 6479
Illustrious Member Moderator
 

Que tal Carlos,

En este caso no hay un plugin en especifico que haga el cambio tal cual como lo solicitas, sin embargo hay snippets de código que son posibles puedan funcionarte a lograr lo que deseas como es el siguiente

add_filter( 'generate_logo_href','tu_add_custom_logo_href' );
function tu_add_custom_logo_href( $url )
{
$user = wp_get_current_user();
if ( in_array( 'rol1', (array) $user->roles ) ) {
return '/enlace1';
}

$user = wp_get_current_user();
if ( in_array( 'rol2', (array) $user->roles ) ) {
return '/enlace2';
}

// All the other pages
return $url;
}

Si te fijas asignamos el nombre del rol de usuario donde dice "rol1" y "rol2", también cambiamos la URL que les corresponde en "/enlace1" y "/enlace2"

De no funcionar es necesario adaptarlo a tu sitio y para ello puedo recomendarte a nuestros colaboradores que con gusto podrán hacerlo a medida de lo que requieres https://www.webempresa.com/directorio-colaboradores.html

Saludos!


 
Respondido : 08/10/2021 10:36 pm
Carlos
Respuestas: 482
Reputable Member
Topic starter
 

@bruno-vichetti

Gracias Bruno,

Lo he probado pero no se si estoy haciendo algo bien, por ejemplo para el rol1 que seria suscriptor lo hice asi 

add_filter( 'generate_logo_href','tu_add_custom_logo_href' );
function tu_add_custom_logo_href( $url )
{
$user = wp_get_current_user();
if ( in_array( 'Subscriber', (array) $user->roles ) ) {
return ' https://academia.safegest.com/curso-consejero-seguridad-adr/ ';
}

$user = wp_get_current_user();
if ( in_array( 'rol2', (array) $user->roles ) ) {
return '/enlace2';
}

// All the other pages
return $url;
}

Estaria correcto asi el codigo?


 
Respondido : 08/10/2021 11:44 pm
Carlos
Respuestas: 482
Reputable Member
Topic starter
 

Me funciona perfecto Bruno muchas gracias, habia puesto malo subscriber, es con la primera "s" en minusculas.

Muchas gracias


 
Respondido : 08/10/2021 11:51 pm
Bruno
Respuestas: 6479
Illustrious Member Moderator
 

Hola Carlos,

Genial! me alegra saber que te ha funcionado, recuerda que cualquier otra consulta estaremos atentos

Saludos!


 
Respondido : 08/10/2021 11:54 pm