ccc

Usuario: Saber si el usuario está logueado o no

En el functions.php del theme activo (o si se quiere en el php que se quiera poner):
function lsg_check_tipo_usuario( $args ) {
// print_r($args);
// echo $args['theme_location']."<br>";
// el print_r te devuelve todo en mayuscula: PRIMARY pero se pone minúscula
if ( $args['theme_location'] == 'primary'){
if ( is_user_logged_in() ) {
echo "estas logueado<br>";
$user = wp_get_current_user();
if(current_user_can('manage_options')) {
echo "eres el puto amo Administrador<br>";
}
else {
echo "eres basurilla<br>";
}
// print_r($user);
}
else {
echo "NO LOGUEADO<br>";
}
}
else {
echo "no entra theme_location<br>";
}

return $args;
}

add_filter( 'wp_nav_menu_args', 'lsg_check_tipo_usuario' );


Escribir o ejecutar algo dependiendo el tipo de usuario que sea:
<?php
if (current_user_can('editor') || current_user_can('administrator')) {  ?>
    ...
<?php
}
?>


Aunque mucho mejor ponerlo así:
<?php
$user = wp_get_current_user();
$allowed_roles = array('editor', 'administrator', 'author');
<?php
if (array_intersect($allowed_roles, $user->roles)) {  ?>
   ...
<?php
}
?>

No hay comentarios:

Publicar un comentario