توسعه دهندگان وردپرس, وردپرس

چگونه در وردپرس تاریخ و ساعت آخرین ورود کاربر را بگیریم؟

مشاوره رایگان

برای مشاوره در زمینه
سایت و سئو
با ما تماس بگیرید.

شبکه های اجتماعی ما
دوره سئو مقدماتی

یک دوره مقدماتی و رایگان سئو که بسیار پربار و سرشار از تجربه مدرس و با کیفیت بالا تهیه شده تا بتوانید در زمان کمتری وب سایت را سئو کنید.

711 نفر
3 دقیقه
hoseyn sahebi
بروزرسانی در: دی 28, 1403

فهرست مطالب

چگونه در وردپرس تاریخ و ساعت آخرین ورود کاربر را بگیریم؟

با افزودن کد زیر زیر به فایل functions.php قالب وردپرسی خود، می‌توانید تاریخ و ساعت آخرین ورود کاربر را دریافت کنید. این اسکریپت اخیراً برای جدیدترین نسخه‌ی وردپرس به‌روز رسانی شده است. کاربرد دو تابع جدید wpsnipp_get_last_login() و wpsnipp_set_last_login() نیز واضح است. یکی داده‌های مربوط به آخرین ورود کاربر را به‌روز رسانی می‌کند و دیگری به شما اجازه می‌دهد تا این داده‌ها را دریافت کرده و در سایت خود به نمایش درآورید. علاوه بر این با استفاده از این توابع ما تاریخ فعلی و قبلی را هم ذخیره می‌کنیم تا شما هر تاریخی که دوست داشتید را به دیگر مدیران یا کاربران خود نمایش دهید.

// set the last login date
add_action(‘wp_login’,’wpsnipp_set_last_login’, 0, 2);
function wpsnipp_set_last_login($login, $user) {
$user = get_user_by(‘login’,$login);
$time = current_time( ‘timestamp’ );
$last_login = get_user_meta( $user->ID, ‘_last_login’, ‘true’ );
if(!$last_login){
update_usermeta( $user->ID, ‘_last_login’, $time );
}else{
update_usermeta( $user->ID, ‘_last_login_prev’, $last_login );
update_usermeta( $user->ID, ‘_last_login’, $time );
}
}
// get last login date
function wpsnipp_get_last_login($user_id,$prev=null){
$last_login = get_user_meta($user_id);
$time = current_time( ‘timestamp’ );
if(isset($last_login[‘_last_login_prev’][0]) && $prev){
$last_login = get_user_meta($user_id, ‘_last_login_prev’, ‘true’ );
}else if(isset($last_login[‘_last_login’][0])){
$last_login = get_user_meta($user_id, ‘_last_login’, ‘true’ );
}else{
update_usermeta( $user_id, ‘_last_login’, $time );
$last_login = $last_login[‘_last_login’][0];
}
return $last_login;
}

اکنون می‌توانید با استفاده از کد زیر آخرین تاریخ ورود کاربر را نمایش دهید. اگر خواستید می‌توانید تاریخ ورود قبل از آن را هم نشان دهید. ما این اطلاعات را از طریق کد اسنیپت بالا در متای کاربر ذخیره می‌کنیم. در تابع wpsnipp_get_last_login($current_user->ID,true)) با اضافه کردن عبارت true به جای تاریخ فعلی، تاریخ ورود قبلی برگردانده می‌شود.

(هر دو قطعه کد زیر از رده کنار گذاشته شده‌اند)

// show last login date
global $current_user;
get_currentuserinfo();
echo ‘<p>Previous: Login date: ‘ . date(“Y-m-d h:m:s”, wpsnipp_get_last_login($current_user->ID,true)) . ‘</p>’;
echo ‘<p>Current: Login date: ‘ . date(“Y-m-d h:m:s”, wpsnipp_get_last_login($current_user->ID)) . ‘</p>’;

به علاوه می‌توانید تاریخ آخرین ورود کاربر را با تاریخ فعلی مقایسه کرده و تعداد روزهای میان این دو تاریخ را به دست آورید.

// how many days since last login
global $current_user;
get_currentuserinfo();
$now = time();
$last_login = wpsnipp_get_last_login($current_user->ID,true);
$datediff = $now – $last_login;
echo ‘<p>Days since last login: ‘ . floor($datediff/(60*60*24)) . ‘</p>’;

همان طور که در کد زیر مشخص است برخی از توابع مثل get_userdatabylogin() از نسخه‌ی قبلی کنار گذاشته شده‌اند. پیشنهاد می‌کنیم شما هم از توابع جدیدی که در ابتدای مطلب معرفی شد استفاده کنید تا با جدیدترین نسخه همراه باشید.

function your_last_login($login) {
global $user_ID;
$user = get_userdatabylogin($login);
update_usermeta($user->ID, ‘last_login’, current_time(‘mysql’));
}
add_action(‘wp_login’,’your_last_login’);
function get_last_login($user_id) {
$last_login = get_user_meta($user_id, ‘last_login’, true);
$date_format = get_option(‘date_format’) . ‘ ‘ . get_option(‘time_format’);
$the_last_login = mysql2date($date_format, $last_login, false);
echo $the_last_login;
}

<?php
global $userdata;
get_currentuserinfo();
echo ‘You last logged in:’;
get_last_login($userdata->ID);
?>

به این صفحه رتبه دهید
بدون دیدگاه
انتشار: تیر 20, 1395
طراحی سایت خود را به ما بسپارید!
همین حالا برای مشاوره رایگان اقدام کنید.
طراحی سایت خود را به ما بسپارید!
همین حالا برای مشاوره رایگان اقدام کنید.
آیا نیازمند راهنمایی هستید؟
همین حالا برای مشاوره رایگان اقدام کنید
با پر کردن فرم، یک قدم به رشد آنلاین نزدیک‌تر شوید!
فرم درخواست مشاوره

برای راحتی شما عزیزان می‌توانید اطلاعات خود را در کادر زیر وارد کنید تا کارشناسان ما با شما تماس بگیرند

مشاوره رایگان
پیمایش به بالا