نمایش تاریخ و زمان آخرین ورود کاربران در پیشخوان وردپرس
اگر در سایت وردپرسی شما چندین نفر به عنوان نویسنده فعالیت دارند و یا سایت شما توسط چندین نفر مدیریت میشود حتما شما به عنوان مدیر سایت مشتاق هستید و یا به عبارتی نیاز دارید از آخرین زمان ورود کاربران وردپرس آگاه شوید، این نیاز بنابر دلایل مختلف میتواند متفاوت باشد برای نمونه در سایتی که نقش کاربری چندین نفر بر روی مدیر قرار داده شده است ممکن است گاهن اختلالاتی در مدیریت سایت دیده شود و به دلیل چند مدیره بودن سایت وردپرسی مدیر اصلی نتواند تشخیص بدهد این اختلال توسط کدام یک از مدیران سایت بوجود آمده است.
همانطور که میدانید در منوی سمت راست پیشخوان وردپرس فارسی قسمتی با عنوان کاربران وجود دارد که شما با کلیک کردن بر روی پیوند “همه کاربران” میتوانید فهرست تمامی کاربران خود را همراه با نام، آدرس پست الکترونیک، نقش کاربری و تعداد نوشتهها تماشا کنید که در این نوشته از وبلاگ ماندگار وب قصد داریم چگونگی اضافه کردن قسمتی با عنوان آخرین ورود را در قسمت کاربران پیشخوان وردپرس برای شما دوستان عزیز شرح دهیم.
به دلیل آنکه در فانکشنها از تابع تاریخ استفاده شده است و بسیاری از کاربران تمایل به استفاده از تاریخ میلادی را ندارند، آموزش اضافه کردن قسمت آخرین ورود را به لیست کاربران بصورت مجزاء برای تاریخ میلادی و شمسی در اختیار شما عزیزان قرار خواهیم داد.
برای ذخیره کردن و نمایش آخرین تاریخ و زمان ورود کاربران بصورت میلادی کدهای زیر را به فایل فانکشن پوسته وردپرس خود اضافه کنید (خواهشمندیم پیش از ایجاد هر تغییری در این فایل از آن نسخهی پشتیبان تهیه نمایید تا در صورت بروز خطا آنرا به راحتی به حالت اول بازگردانید):
function insert_last_login( $login ) {
global $user_id;
$user = get_userdatabylogin( $login );
update_user_meta( $user->ID, 'last_login', gmdate( 'Y-m-d H:i:s' ) );
}
add_action( 'wp_login', 'insert_last_login' );
function add_last_login_column( $columns ) {
$columns['last_login'] = __( 'آخرين ورود', 'last_login' );
return $columns;
}
add_filter( 'manage_users_columns', 'add_last_login_column' );
function add_last_login_column_value( $value, $column_name, $user_id ) {
$user = get_userdata( $user_id );
if ( 'last_login' == $column_name && $user->last_login )
$value = date( 'm/d/Y g:ia', strtotime( $user->last_login ) );
return $value;
}
add_action( 'manage_users_custom_column', 'add_last_login_column_value', 10, 3 );
و برای ذخیره کردن و نمایش آخرین تاریخ و زمان ورود کاربران بصورت شمسی (افزونه جلالی وردپرس فارسی) کدهای زیر را به فایل فانکشن قالب وردپرس خود اضافه کنید:
function insert_last_login( $login ) {
global $user_id;
$user = get_userdatabylogin( $login );
update_user_meta( $user->ID, 'last_login', gmdate( 'Y-m-d H:i:s' ), the_time('Y-m-j') );
}
add_action( 'wp_login', 'insert_last_login' );
function add_last_login_column( $columns ) {
$columns['last_login'] = __( 'آخرين ورود', 'last_login' );
return $columns;
}
add_filter( 'manage_users_columns', 'add_last_login_column' );
function add_last_login_column_value( $value, $column_name, $user_id ) {
$user = get_userdata( $user_id );
if ( 'last_login' == $column_name && $user->last_login )
$value = jdate( 'Y/m/d g:ia', strtotime( $user->last_login ) );
return $value;
}
add_action( 'manage_users_custom_column', 'add_last_login_column_value', 10, 3 );
لازم به ذکر است در تاریخ شمسی حتما باید افزونه جلالی بر روی وردپرس شما نصب و فعال باشد که در غیر اینصورت با خطا مواجه خواهید شد، همانطور که در تصویر زیر تماشا میکنید قسمت تازهای با عنوان آخرین ورود به قسمت کاربران شما اضافه شده است.
همچنین برای کنترل هرچه بیشتر کاربران خود میتوانید با تغییر دادن خط 15 دستورات داده شده به شکل زیر آیپی کاربر خود را نیز تماشا کنید.
تاریخ میلادی:
$value = date( 'm/d/Y g:ia', strtotime( $user->last_login ) ) .'/'. $_SERVER['REMOTE_ADDR'];
تاریخ شمسی:
$value = jdate( 'Y/m/d g:ia', strtotime( $user->last_login ) ) .'/'. $_SERVER['REMOTE_ADDR'];
امیدوار هستیم این نوشته هم همانند سایر نوشتههای وبلاگ ماندگار وب مورد پسند شما دوستان وردپرسی قرار گرفته باشد.
دیدگاهها در "نمایش تاریخ و زمان آخرین ورود کاربران در پیشخوان وردپرس"
دیدگاه خود را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.
ممنون عبدالماجد جان
کامل و بسیار کاربردی بود {گل}
خیلی آموزش مفید و کاربردی بود
خواهش میکنم
عالی بود.
خواهش می کنم
سلام ببخشید میشه یه کاری کرد که زمان آخرین ورود کاربر رو توی پروفایل هر کاربر نشون بده که خود کاربر ببینه؟
من پروفایل کاربرام از وردپرس جداست یعنی خودم یه صفحه جدا براشون درست کردم تو قالب
کدی هست که بتونم آخرین ورودشون رو به شمسی نمایش بدم؟؟
خیلی نیاز دارم ممنون میشم کمک کنید
درود باید این کد رو برای توسعه در انجمن قرار بدهید تا کاربران انجمن شما را راهنمایی کنند
موفق باشید
سلام مجدد ببخشید من رفتم تو انجمن اما نمیدونم چطور و کجای انجمن باید برم باری مطرح کردن این مسئله تو رو خدا اگه شما بلدید یه راهنمایی کنید
ممنون میشم
درود
ابتدا باید در انجمن ثبت نام کنید تا امکان ارسال کردن تاپیک برای شما فراهم بشه
دوست خوبم این کد باید برای توسعه در انجمن قرار بگیره، من شاغل هستم و اصلاً زمان آزاد ندارم، معذرت میخوام از شما
سلام
کدی هستش که این اخرین ورودشون رو تو قالب قرار بدیم تا خود کاربر و هر کس دیگه ای بتونه اخرین ورود کاربر معینی رو ببینه ؟
منظورم اینه در پیشخوان نباشه و در ستون کناری قالب قابل مشاهده باشه
درود علی جان
اطلاعی ندارم، باید در انجمن مطرح بفرمایید.
سلام دوستان عزیز.
آیا نمیشه این کد رو به شکل افزونه ای از طریق خود پیشخوان به قالب اضافه کرد و مثلاً دیگه احتیاجی نباشه که به قسمت سرور سایت بریم؟.
درود
بله میشه، در انجمن مطرح کنید:
http://forum.wp-parsi.com/
سلام
واقعا از آموزش بسیار عالی شما و سایت فوق العاده شما متشکرم
فقط دو مورد هست که هم سوال هست و هم می خواستم ذکر کنم
سوالم اینجاست که شما گفتین اگر میخواین آی پی هم به نمایش در بیاد باید اون یک خط کد رو در لاین 17 اضافه کنیم، لاین 17 این علامت هست { آیا باید اون یک خط کد رو به جای این علامت قرار بدیم که در خط 17 هست و اینو حذف کنیم یا اینکه اون رو در یک خط قبل از این قرار بدیم و اون یک خط بشه جایگزین این و این علامته بره لاین 18 ببخشید اگر یکم بد توضیح دادم!
مورد دوم اینه که آخرین ورود کاربر رو با توجه به ساعت جهانی نشون میده با اینکه من از اون کد فارسی و با تاریخ شمسی استفاده کردم مثلا من وردپرسم بر روی ساعت uct+3:30 که ساعت دقیق و درست ایران هست تنظیم کردم و ساعت کاملا صحیحه یعنی ساعت محلی کاملا دقیقه اما آخرین ورود کاربر رو با توجه به ساعت جهانی نشون میده مثلا ساعت محلی وردپرس من بر روی ساعت 22 شب بود اما وقتی وارد شدم در بخش اطلاعات ورود ساعت رو ساعت جهانی نشون داد یعنی ساعت 19! این در صورتیه که تاریخ شمسی رو دقیقا درست نشون داد ولی ساعت رو غلط نشون داده. آیا میتونین این کد رو اصلاح کنین که تنظیمات ساعت محلی که ایجاد کردیم و مثلا بر روی uct+3:30 قرار دادیم هم علاوه بر تاریخ درست نشون داده بشه که دیگه همه چیزش عالی بشه؟
یک پیشنهاد هم دارم، لطفا به بخش کامنت های سایتتون یک تاریخ و ساعت اضافه کنین که بدونیم کامنتها و پاسخها برای چه تاریخ و ساعتی هستن، منو ببخشید لطفا اگر خیلی زیادی توضیح دادم، ممنون میشم پاسخ بدید
درود
نوشته ویرایش شد سعید جان / پیش از این کد به شکل دیگری بوده و شما باید خطی که به آن اشاره شده را با خط 15 جایگزین کنید
بله تاریخ بصورت میلادی هست، برای قسمت شمسی هم این کد با افزونه جلالی وردپرس به درستی کار میکرد، در این مورد میتوانید مشکل زمان و تاریخ را در انجمن مطرح بفرمایید:
http://forum.wp-parsi.com/
در مورد پیشنهادتون هم، به روی چشم، در اولین فرصت
شاد و پیروز باشید
سلام من انجام دادم اما نشد!!!
همه چی هم مطابق چیزی که شما گفتین صورت گرفته!!!
درود
تست گرفته شد، بدون مشکلی کار کرد
آموزش رو از نو بخونید دوست من
سلام.
در صفحه مدیریت کاربران برای اینکه ترتیب نمایش براساس تاریخ آخرین ورود باشه چه کدی نیاز هست.
ممنون میشم که پاسخگو باشید.
درود مهدی جان، نمیدونم دوست عزیز
میتونید در انجمن مطرح کنید:
http://forum.wp-parsi.com/
کار نمیکنه این کد
عالیی…دست مریزاد….مثل ساعت کار میکنه