نمایش تاریخ آخرین ورود کاربران به سایت در وردپرس
می خواهیم تاریخ آخرین ورود کاربران را در سایتمان نمایش دهیم. یک کد ساده که به شما اجازه می دهد تاریخ آخرین ورود کاربر را در سایتتان نمایش داده و سایت خودتان را کمی حرفه ای تر جلوه دهید.
نمایش تاریخ آخرین ورود کاربران در پنل مدیریت وردپرس
استفاده از افزونه
این حالت ساده ترین راه هست. اما فقط آخرین ورود را در پنل مدیریت به شما نمایش می دهد. اگر میخواهید آخرین زمان ورود کاربران در خود سایت نمایش دهید نگران نباشید، کمی پایین تر این مورد را هم توضیح دادیم. اما ابتدا میخواییم روش نمایش آخرین تاریخ را در پنل مدیریت باهم بررسی کنیم…
این راه در بخش کاربران یک ستون جدید اضافه کرده و آخرین ورود هر کاربر را به شما نمایش می دهد. برای اینکار از افزونه Wp Last Login استفاده می کنیم. بعد از نصب و فعالسازی، در پنل مدیریت کاربران وردپرس شما بخش جدیدی اضافه می شود که آخرین ورود کاربران به سایت را نمایش خواهد داد. مثل تصویر زیر:
در ابتدا ممکن هست برای همه کاربران شما کلمه never یا همان هیچوقت نمایش داده شده باشد. این به این علت هست که شما افزونه را تازه نصب و فعالسازی کردین و اطلاعاتی مبنی بر این مورد در دیتابیس شما ذخیره نشده. اما به مرور زمان و با ورود کاربران، این عبارت نمایش داده خواهد شد.
همینطور از افزونه When Last Login هم میشه استفاده کرد. تنها تفاوت بارز این افزونه با افزونه Wp Last Login در این هست که When Last Login با افزونه Paid Memberships Pro هماهنگ هستش. ولی در سایر قابلیت ها تفاوتی ندارن.
استفاده از کد نویسی
خب بعضی از دوستان هستن که ترجیح میدن افزونه نصب نکنن تا وب سایت وردپرسیشون سنگین نشه. یکی از راه های نمایش آخرین زمان ورود افراد به وردپرس در پنل مدیریت بدون استفاده از پلاگین این راه هست.
add_action( 'wp_login', 'awp_collect_login_timestamp', 20, 2 );
function awp_collect_login_timestamp( $user_login, $user ) {
update_user_meta( $user->ID, 'last_login', time() );
}
add_filter( 'manage_users_sortable_columns', 'awp_sortable_columns' );
add_action( 'pre_get_users', 'awp_sort_last_login_column' );
function awp_sortable_columns( $columns ) {
return wp_parse_args( array(
'last_login' => 'last_login'
), $columns );
}
function awp_sort_last_login_column( $query ) {
if( !is_admin() ) {
return $query;
}
$screen = get_current_screen();
if( isset( $screen->id ) && $screen->id !== 'users' ) {
return $query;
}
if( isset( $_GET[ 'orderby' ] ) && $_GET[ 'orderby' ] == 'last_login' ) {
$query->query_vars['meta_key'] = 'last_login';
$query->query_vars['orderby'] = 'meta_value';
}
return $query;
}
تنها کاری که باید انجام بدین اینه که قطعه کد بالا رو با استفاده از ویرایشگر کد به فایل functions.php قالب خودتون (یا Child-Theme) خودتون اضافه کنید.
این قطعه کد با هربار ورود کاربر زمان آخرین ورود رو در دیتابیس ذخیره میکنه. در زمانی که لیست افراد رو میخواییم ببینیم یک ستونی اضافه میکرد و موارد رو در اونجا نمایش میده. و قابلیت مرتب سازی هم داره…
نمایش تاریخ آخرین ورود کاربران در سایت
این حالت برای دوستانی هست میخوان آخرین زمان ورود رو برای خود کاربر نمایش بدن.
در حالت دوم با یک کد کوتاه ساده ( شورت کد ) به راحتی می توانید در هر کجای قالب سایتتان، آخرین ورود کاربر را نمایش دهید. برای اینکار کد زیر را به انتهای فایل functions.php اضافه نمایید :
function user_last_login( $user_login, $user ) {
update_user_meta( $user->ID, 'last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
function wpb_lastlogin() {
$last_login = get_the_author_meta('last_login');
$the_login_date = human_time_diff($last_login);
return $the_login_date;
}
add_shortcode('lastlogin','wpb_lastlogin');
این کد کلید متای آخرین ورود کاربران به سایت را اضافه می کند. هر بار که کاربر وارد می شود این کد در دیتابیس شما کلید واژه متایی را ذخیره می کند. برای اینکه کد را تست کنید شما می توانید یکبار خارج شده و مجدد وارد سایت شوید.
این کد علاوه بر ذخیره کردن آخرین زمان ورود کاربران به سایت یک شورت کد نیز برای شما آماده میکند. حالا شما می توانید با استفاده از این شورتکد، یعنی [lastlogin] به راحتی در ابزارک ها ، قالب و نوشته ها و … سایت خودتان ، آخرین ورود کاربر به سایت را نمایش دهید.