نمایش تاریخ و زمان آخرین ورود کاربران در پیشخوان وردپرس

اگر در سایت وردپرسی شما چندین نفر به عنوان نویسنده فعالیت دارند و یا سایت شما توسط چندین نفر مدیریت می‌شود حتما شما به عنوان مدیر سایت مشتاق هستید و یا به عبارتی نیاز دارید از آخرین زمان ورود کاربران وردپرس آگاه شوید، این نیاز بنابر دلایل مختلف می‌تواند متفاوت باشد برای نمونه در سایتی که نقش کاربری چندین نفر بر روی مدیر قرار داده شده است ممکن است گاهن اختلالاتی در مدیریت سایت دیده شود و به دلیل چند مدیره بودن سایت وردپرسی مدیر اصلی نتواند تشخیص بدهد این اختلال توسط کدام یک از مدیران سایت بوجود آمده است.

همان‌طور که می‌دانید در منوی سمت راست پیشخوان وردپرس فارسی قسمتی با عنوان کاربران وجود دارد که شما با کلیک کردن بر روی پیوند “همه کاربران” می‌توانید فهرست تمامی کاربران خود را همراه با نام، آدرس پست الکترونیک، نقش کاربری و تعداد نوشته‌ها تماشا کنید که در این نوشته از وبلاگ ماندگار وب قصد داریم چگونگی اضافه کردن قسمتی با عنوان آخرین ورود را در قسمت کاربران پیشخوان وردپرس برای شما دوستان عزیز شرح دهیم.

به دلیل آنکه در فانکشن‌ها از تابع تاریخ استفاده شده است و بسیاری از کاربران تمایل به استفاده از تاریخ میلادی را ندارند، آموزش اضافه کردن قسمت آخرین ورود را به لیست کاربران بصورت مجزاء برای تاریخ میلادی و شمسی در اختیار شما عزیزان قرار خواهیم داد.

برای ذخیره کردن و نمایش آخرین تاریخ و زمان ورود کاربران بصورت میلادی کدهای زیر را به فایل فانکشن پوسته وردپرس خود اضافه کنید (خواهشمندیم پیش از ایجاد هر تغییری در این فایل از آن نسخه‌ی پشتیبان تهیه نمایید تا در صورت بروز خطا آنرا به راحتی به حالت اول بازگردانید):

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'];

امیدوار هستیم این نوشته هم همانند سایر نوشته‌های وبلاگ ماندگار وب مورد پسند شما دوستان وردپرسی قرار گرفته باشد.


کانال تلگرام ماندگار وب

  1. امیر خلجی مهر

    ممنون عبدالماجد جان
    کامل و بسیار کاربردی بود {گل}

  2. گروه آسمان

    خیلی آموزش مفید و کاربردی بود

  3. میلاد

    سلام ببخشید میشه یه کاری کرد که زمان آخرین ورود کاربر رو توی پروفایل هر کاربر نشون بده که خود کاربر ببینه؟
    من پروفایل کاربرام از وردپرس جداست یعنی خودم یه صفحه جدا براشون درست کردم تو قالب
    کدی هست که بتونم آخرین ورودشون رو به شمسی نمایش بدم؟؟
    خیلی نیاز دارم ممنون میشم کمک کنید

    1. امیر خلجی مهر

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

  4. میلاد

    سلام مجدد ببخشید من رفتم تو انجمن اما نمیدونم چطور و کجای انجمن باید برم باری مطرح کردن این مسئله تو رو خدا اگه شما بلدید یه راهنمایی کنید
    ممنون میشم

    1. امیر خلجی مهر

      درود
      ابتدا باید در انجمن ثبت نام کنید تا امکان ارسال کردن تاپیک برای شما فراهم بشه
      دوست خوبم این کد باید برای توسعه در انجمن قرار بگیره، من شاغل هستم و اصلاً زمان آزاد ندارم، معذرت میخوام از شما

  5. علی

    سلام
    کدی هستش که این اخرین ورودشون رو تو قالب قرار بدیم تا خود کاربر و هر کس دیگه ای بتونه اخرین ورود کاربر معینی رو ببینه ؟
    منظورم اینه در پیشخوان نباشه و در ستون کناری قالب قابل مشاهده باشه

    1. امیر خلجی مهر

      درود علی جان
      اطلاعی ندارم، باید در انجمن مطرح بفرمایید.

  6. محمد

    سلام دوستان عزیز.
    آیا نمیشه این کد رو به شکل افزونه ای از طریق خود پیشخوان به قالب اضافه کرد و مثلاً دیگه احتیاجی نباشه که به قسمت سرور سایت بریم؟.

    1. امیر خلجی مهر

      درود
      بله میشه، در انجمن مطرح کنید:
      http://forum.wp-parsi.com/

  7. سعید

    سلام
    واقعا از آموزش بسیار عالی شما و سایت فوق العاده شما متشکرم
    فقط دو مورد هست که هم سوال هست و هم می خواستم ذکر کنم
    سوالم اینجاست که شما گفتین اگر میخواین آی پی هم به نمایش در بیاد باید اون یک خط کد رو در لاین 17 اضافه کنیم، لاین 17 این علامت هست { آیا باید اون یک خط کد رو به جای این علامت قرار بدیم که در خط 17 هست و اینو حذف کنیم یا اینکه اون رو در یک خط قبل از این قرار بدیم و اون یک خط بشه جایگزین این و این علامته بره لاین 18 ببخشید اگر یکم بد توضیح دادم!
    مورد دوم اینه که آخرین ورود کاربر رو با توجه به ساعت جهانی نشون میده با اینکه من از اون کد فارسی و با تاریخ شمسی استفاده کردم مثلا من وردپرسم بر روی ساعت uct+3:30 که ساعت دقیق و درست ایران هست تنظیم کردم و ساعت کاملا صحیحه یعنی ساعت محلی کاملا دقیقه اما آخرین ورود کاربر رو با توجه به ساعت جهانی نشون میده مثلا ساعت محلی وردپرس من بر روی ساعت 22 شب بود اما وقتی وارد شدم در بخش اطلاعات ورود ساعت رو ساعت جهانی نشون داد یعنی ساعت 19! این در صورتیه که تاریخ شمسی رو دقیقا درست نشون داد ولی ساعت رو غلط نشون داده. آیا میتونین این کد رو اصلاح کنین که تنظیمات ساعت محلی که ایجاد کردیم و مثلا بر روی uct+3:30 قرار دادیم هم علاوه بر تاریخ درست نشون داده بشه که دیگه همه چیزش عالی بشه؟
    یک پیشنهاد هم دارم، لطفا به بخش کامنت های سایتتون یک تاریخ و ساعت اضافه کنین که بدونیم کامنتها و پاسخها برای چه تاریخ و ساعتی هستن، منو ببخشید لطفا اگر خیلی زیادی توضیح دادم، ممنون میشم پاسخ بدید

    1. امیر خلجی مهر

      درود
      نوشته ویرایش شد سعید جان / پیش از این کد به شکل دیگری بوده و شما باید خطی که به آن اشاره شده را با خط 15 جایگزین کنید
      بله تاریخ بصورت میلادی هست، برای قسمت شمسی هم این کد با افزونه جلالی وردپرس به درستی کار میکرد، در این مورد میتوانید مشکل زمان و تاریخ را در انجمن مطرح بفرمایید:
      http://forum.wp-parsi.com/
      در مورد پیشنهادتون هم، به روی چشم، در اولین فرصت
      شاد و پیروز باشید

  8. mohsen

    سلام من انجام دادم اما نشد!!!
    همه چی هم مطابق چیزی که شما گفتین صورت گرفته!!!

    1. امیر خلجی مهر

      درود
      تست گرفته شد، بدون مشکلی کار کرد
      آموزش رو از نو بخونید دوست من

دیدگاه خود را بنویسید

تنها دیدگاه‌هایی که به فارسی نوشته می‌شوند پذیرفته خواهند شد!

ماندگار وب - 1395
فروش - خرید هاست وردپرس فارسی