رفتن به مطلب
Sinapars

نمایش تاریخ و نام شخصی ویرایش کننده جدول در افزونه wpdatatables

پست های پیشنهاد شده

درود 
وقت بخیر
من برای مدیریت جدول هام از افزونه wpdatatables استفاده میکنم که فوق العاده است فقط با استفاده از هوک ها میخوام یه قابلیت بهش اضافه کنم امام نمیدونم چه جوری ؟
قابلیت به شکل هست که میخوام زمانی که کاربر جدول رو ویرایش میکنه اسمش و تاریخ و زمان دقیق ویرایش نمایش داده بشه 
تو فروم خودشون این راه کار ارائه شده اما نمیدونم چه جوری باید استفاده کنم ؟

 

function update_time( $formdata, $table_id ) {
   if ($table_id == 121 ) {
      $time                = time();
      $get_current_user_id = get_current_user_id();
      $formdata['userid']  = "$get_current_user_id";
      $formdata['time']    = "$time";
   }
   return $formdata;
}
add_filter('wpdatatables_filter_formdata_before_save', 'update_time', 10, 2);

لینک فروم : کلیک

این هم مستندات برای این ساخت هوک ها : کلیک
فک میکنم باید از تابع wpdatatables_after_frontent_edit_row در لینک بالا برای این موضوع استفاده بشه امام نمیدونم چه جوری ؟

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

به اشتراک گذاری این ارسال


لینک به ارسال

کد زیر رو تست کنید
 

function update_time( $formdata, $rowId, $tableId ) {
   if ($table_id == 121 ) {
      $time                = time();
      $get_current_user_id = get_current_user_id();
      $formdata['userid']  = "$get_current_user_id";
      $formdata['time']    = "$time";
   }
   return $formdata;
}
add_filter('wpdatatables_after_frontent_edit_row', 'update_time', 10, 3);

 

به اشتراک گذاری این ارسال


لینک به ارسال
در 23 ساعت قبل، Mobin گفته است :

کد زیر رو تست کنید
 


function update_time( $formdata, $rowId, $tableId ) {
   if ($table_id == 121 ) {
      $time                = time();
      $get_current_user_id = get_current_user_id();
      $formdata['userid']  = "$get_current_user_id";
      $formdata['time']    = "$time";
   }
   return $formdata;
}
add_filter('wpdatatables_after_frontent_edit_row', 'update_time', 10, 3);

 

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

 

wpdata.png

ویرایش شده توسط Sinapars

به اشتراک گذاری این ارسال


لینک به ارسال

این هوک رو تست کنید
 

function update_time( $formdata, $tableId ) {

      $time                = time();
      $get_current_user_id = get_current_user_id();
      $formdata['userid']  = "$get_current_user_id";
      $formdata['time']    = "$time";

   return $formdata;
}
add_filter('wpdatatables_filter_frontend_formdata', 'update_time', 10, 2);

 

به اشتراک گذاری این ارسال


لینک به ارسال
نقل قول

function update_time( $formdata, $table_id ) {
   if ($table_id == 121 ) {
      $time                = time();
      $get_current_user_id = get_current_user_id();
      $formdata['userid']  = "$get_current_user_id";
      $formdata['time']    = "$time";
   }
   return $formdata;
}
add_filter('wpdatatables_filter_formdata_before_save', 'update_time', 10, 2);

 



سلام این کد اوکی شد کار میکنه فقط تاریخ آپدیت نمیشه userid آپدیت میشه و میزنه کدوم یوزر آپدیت کرده ولی تاریخ تغییری نمیکنه نوع تاریخ هم تو دیتابیس datetime و پیش فرض هم روی CURRENT_TIMESTAMP گذاشتم اما تاریخ آپدیت نمیشه

ویرایش شده توسط Sinapars

به اشتراک گذاری این ارسال


لینک به ارسال

اگه فورمت تو دیتابیس datetime هست تاریخ رو به صورت زیر وارد کنید

$time                = date('Y-m-d H:i:s');

 

به اشتراک گذاری این ارسال


لینک به ارسال
در در 10/14/2019 at 10:19، Mobin گفته است :

اگه فورمت تو دیتابیس datetime هست تاریخ رو به صورت زیر وارد کنید


$time                = date('Y-m-d H:i:s');

 

ممنون از شما مشکل برطرف شد فقط تو فایل function هم این کد رو اضافه کردم چون ساعت رو درست نشون نمی داد :
 

date_default_timezone_set("Asia/Tehran");

فقط آیا این امکان وجود داره که من بتونم تو خود صفحه این تغییرات رو نمایش بدم نه داخل هر سطر جدول ؟
مثل این عکس :
wpdata.thumb.png.31a0294b93b3d7df97db3ba59889f3f4.png

به اشتراک گذاری این ارسال


لینک به ارسال
در در 10/21/2019 at 12:33، Sinapars گفته است :

ممنون از شما مشکل برطرف شد فقط تو فایل function هم این کد رو اضافه کردم چون ساعت رو درست نشون نمی داد :
 


date_default_timezone_set("Asia/Tehran");

فقط آیا این امکان وجود داره که من بتونم تو خود صفحه این تغییرات رو نمایش بدم نه داخل هر سطر جدول ؟
مثل این عکس :
wpdata.thumb.png.31a0294b93b3d7df97db3ba59889f3f4.png

@Mobin ممنون میشم راهنمایی کنید به چه صورت میتونم این کار رو انجام بدم ؟ مثل تاریخ آخرین بروزرسانی که تو برگه ها یا نوشته ها نمایش میدیم 

به اشتراک گذاری این ارسال


لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • اضافه کردن...