Question

I want to show user registration date like

Member since: 15,dec 2012.

I have a code

<?php echo date("M Y", strtotime(get_userdata(get_current_user_id( ))->user_registered)); ?>

but it show same date in all users profiles. Can some one please tell me how I fix that.

Was it helpful?

Solution

get_current_user_id() give you the user id of the logged in user. And that is: you.

You have to get all users:

<?php
        $users = get_users();

        foreach( $users as $user ) {

            $udata = get_userdata( $user->ID );

            $registered = $udata->user_registered;

            printf( '%s member since %s<br>', $udata->data->display_name, date( "M Y", strtotime( $registered ) ) );
        }

OTHER TIPS

$udata = get_userdata( $user->ID );
$registered = $udata->user_registered;
printf(
    $table,
    'Registered',
    date( "M Y", strtotime( $registered ) )
);

If you want to use it for front-end, this is the best example:

//Get post author ID
$post_author_id = get_post_field( 'post_author', $post->ID );

//Get the registration date
$registered_date = get_the_author_meta( 'user_registered', $post_author_id );

//Convert to desired format
$output = date( 'F j, Y', strtotime($registered_date));

//Echo
echo $output;
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top