• Resuelto beltza92

    (@beltza92)


    Hola, en una pagina de gracias me gustaría personalizarla al máxima y por ello me gustaría poner el nombre del usuario logeado que ha ido a esa página, no se como puedo hacerlo para mostrar el nombre del usuario logeado en la pagina.

Viendo 14 respuestas - de la 1 a la 14 (de un total de 14)
  • Moderador LGrusin

    (@lgrusin)

    Algo así debería funcionar:

    <?php if ( is_user_logged_in() ) { ?>
    <?php global $current_user; get_currentuserinfo(); ?>
    <h2>Hola <?php echo $current_user->user_login; ?></h2>
    <?php } ?>

    Un saludo

    • Esta respuesta fue modificada hace 7 años, 3 meses por LGrusin.

    Hola,
    Para eso necesitas usar la función wp_get_current_user()

    El php necesario para sacer en pantalla algunos de sus datos podría ser algo de este estilo (tu ya te lo personalizas como quieras):

    <?php
    if (is_user_logged_in()){
    $cu = wp_get_current_user();
    echo 'Gracias por tu compra ' . $cu->user_firstname . '<br />';
    ?>

    Ups! nos hemos pisado @lgrusin, perdón.

    Por aclarar un tema, puedes llamar a cualquiera de los datos del usuario. Yo he apostado por el Nombre, @lgrusin por el nombre de usuario.
    Te dejo algunas posibilidades

    • nombre de usuario: user_login
    • nombre: user_firstname
    • apellido: user_lastname
    • nombre a mostrar: display_name
    Iniciador del debate beltza92

    (@beltza92)

    Vale, pero lo quiero solo en una pagina concreta, poría crear un shortcode que me mostrara el nombre?

    Moderador LGrusin

    (@lgrusin)

    Claro que puedes usar un shortcode pero tendrás que generarlo.

    Lo más fácil es crear un archivo llamado page-gracias.php y meter el código allí (suponiendo que la página se llame gracias)

    @pablo-moratinos ya me tocará a mi otro dia… 🙂

    Un saludo

    Es una solución un poco chusca, pero podrías usar el plugin Insert PHP Code Snippet para crear tus propios shortcodes con snippets de PHP.

    https://wordpress.org/plugins/insert-php-code-snippet/

    Iniciador del debate beltza92

    (@beltza92)

    Y podeis ayudarme a como haría la funcion para el shortcode

    Iniciador del debate beltza92

    (@beltza92)

    Y sin utilizar el plugin? como pongo la funcion que me habeis dicho en el shortcode?

    ¿ya has probado el plugin que te he recomendado?

    Iniciador del debate beltza92

    (@beltza92)

    No no lo he probado ya que no quieor añadir plugins para esto, se que se puede hacer en function y de hecho he creado short codes y demas pero no se como integrar esa funcion de obtener el username y demas dentro de la funcion para crear shortcode

    Moderador LGrusin

    (@lgrusin)

    Aquí tienes un artículo donde te explican cómo crear shortcodes.
    https://ayudawp.com/que-son-los-shortcodes-y-como-crearlos/

    Aunque sigo diciendo que la solución que te di es la más fácil… 🙂

    Un saludo

    Iniciador del debate beltza92

    (@beltza92)

    He probado de poner este codigo en la pagina de wordpress
    <?php if ( is_user_logged_in() ) { ?>
    <?php global $current_user; get_currentuserinfo(); ?>
    <h2>Hola <?php echo $current_user->user_login; ?></h2>
    <?php } ?>

    pero no me sale el nombre el editor me remplaza las cosas y me lo pone como comentario por eso quiero ponerlo en un shortcode,

    dentro de la funcion del shortcode seria añadir este codigo? y el return que devuelve?

    Moderador LGrusin

    (@lgrusin)

    A ver, el código debe ir en los archivos php, no en el editor. Esa es la ventaja que lo situas donde quieras. Si usas un shortcode tendrás que ponerlo en el editor y a saber dónde te sale.

    Aquí tienes el código del shortcode para ponerlo en el archivo functions.php:

    <?php 
    function shortcode_gracias() {
     if ( is_user_logged_in() ) {
     global $current_user; get_currentuserinfo();
     echo '<h2>Hola '. $current_user->user_login. '</h2>';
     }
    }
    
    add_shortcode('gracias', 'shortcode_gracias');
    ?>

    Por favor, para la próxima pregunta directamente lo que quieres hacer para no ir saltando de un lado para otro.

    • Esta respuesta fue modificada hace 7 años, 3 meses por LGrusin.
    Iniciador del debate beltza92

    (@beltza92)

    Perfecto gracias, en vez de echo es return gracias

Viendo 14 respuestas - de la 1 a la 14 (de un total de 14)
  • El debate ‘Mostrar el usuario logeado en una pagina’ está cerrado a nuevas respuestas.