sábado, 14 de febrero de 2015

WordPress - Comprobar si el usuario esta logueado

En nuestras Templates y Plugins de WP seguramente necesitemos comprobar si el usuario esta o no logueado, para pedirle que lo haga, darle acceso a diferentes zonas, o como en este caso simplemente mostrarle un mensaje personalizado, para ello tan solo tenemos que servirnos de la siguiente función is_user_logged_in().
Un ejemplo completo seria el siguiente, en el que compruebo que el usuario este logueado, para darle la bienvenida con su nombre, en un enlace que le lleve a su perfil, si no lo esta, le muestro 2 enlaces, uno para hacer login, y otro para registrarse.
<?php
    if(is_user_logged_in()){
        $current_user = wp_get_current_user();
        //get_edit_profile_url()
        $wrap .= '<li id="menu-item-user-edit" class="menu-item menu-item-user menu-item-type-custom">'
                . '<a href="'. get_edit_profile_url().'" target="_blank" >Hola '.$current_user->user_login.'</a></li>';
    }else{
        $wrap .= '<li id="menu-item-user-login" class="menu-item menu-item-user menu-item-type-custom">'
                . '<a href="<?php echo wp_login_url(); ?>">Logeate</a></li>';
        $wrap .= '<li id="menu-item-user-register" class="menu-item menu-item-user menu-item-type-custom">'
                . '<a href="<?php echo wp_registration_url();?>">Regístrate</a></li>';
    }
?>
Fuente: http://codex.wordpress.org/Function_Reference/is_user_logged_in