Milad.flight

زمان آخرین ورود کاربر

21 پست در این موضوع قرار دارد

سلام ببخشید من یه کمک میخواستم

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

اینم کدش هست


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;
}
function nd_update_user_meta( $user_id ) {
update_user_meta( $user_id, 'nd_login_time', current_time('timestamp') );
update_user_meta( $user_id, 'nd_num_comments', wp_count_comments()->approved );
update_user_meta( $user_id, 'nd_num_posts', wp_count_posts('post')->publish );
}

اما این کد تاریخ رو به صورت میلادی نشون میده

چیکار باید بکنم تا به صورت شمسی نشون بده؟؟؟؟؟؟؟

دوستان به طور خیلی رسمی Help meeeeeee :(

0

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


لینک به پست

از افزونه جلالی استفاده می‌کنید یا از بسته پارسی‌ساز؟

اگه از بسته پارسی‌ساز استفاده می‌کنید، این برگه رو مطالعه کنید.

فکر کنم چنین چیزی بشه، البته این کد رو تست نکردم:


// previous codes
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);
$parsi_date = parsidate( 'Y m d H:i:s', $the_last_login, 'per' );
echo $the_last_login;
}
// next codes

1

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


لینک به پست

از افزونه wp-parsidate استفاده میکنم

من خودم جای mysql2date و mysql

parsidate گذاشتم اما تاریخ روز رو فقط نشون میده نه تاریخ آرین باری که لاگین بوده

0

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


لینک به پست

کدی که به شما دادم، این نتیجه رو داد؟

1

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


لینک به پست

کل کد این هست


function your_last_login($login) {
global $user_ID;
$user = get_userdatabylogin($login);
update_usermeta($user->ID, 'last_login', current_time('jdate'));

}
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;
}



function nd_update_user_meta( $user_id ) {
update_user_meta( $user_id, 'nd_login_time', current_time('timestamp') );
update_user_meta( $user_id, 'nd_num_comments', wp_count_comments()->approved );
update_user_meta( $user_id, 'nd_num_posts', wp_count_posts('post')->publish );
}

که فاکشن آخری خط اول تاریخ آخرین ورود کاربر رو نشون میده و خط 2 و 3 پست ها و کامنت هایی که بعد از آخرین ورود کاربر آمده نشون میده

حالا کدی رو که دادید جای کدوم کد بذارم؟؟؟

0

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


لینک به پست

به جای فانکشن دومی. از افزونه خاصی برای این کار استفاده می‌کنید؟

1

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


لینک به پست

کل کد این هست


function your_last_login($login) {
global $user_ID;
$user = get_userdatabylogin($login);
update_usermeta($user->ID, 'last_login', current_time('jdate'));

}
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;
}



function nd_update_user_meta( $user_id ) {
update_user_meta( $user_id, 'nd_login_time', current_time('timestamp') );
update_user_meta( $user_id, 'nd_num_comments', wp_count_comments()->approved );
update_user_meta( $user_id, 'nd_num_posts', wp_count_posts('post')->publish );
}

که فاکشن آخری خط اول تاریخ آخرین ورود کاربر رو نشون میده و خط 2 و 3 پست ها و کامنت هایی که بعد از آخرین ورود کاربر آمده نشون میده

حالا کدی رو که دادید جای کدوم کد بذارم؟؟؟

راستی اون jdate اولی رو خودم گذاشتم درستش mysql هست

راستی کدی رو که دادید گذاشتم بازم میلادی نشون میداد

بله افزونه sb-login هست که فرم لاگین داره و نمایش آخرین ورود کاربر هم تو پروفایلش هست این صفحه افزونه هست

http://wordpress.org/plugins/sb-login/

0

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


لینک به پست

فرقی نداره که با افزونه باشه یا بدون افزونه کلا توی این سایت

http://www.wp-pro.ir/thread2175.html

همین کار رو بدون افزونه کرده که کلا شبیه همین هست اما بازم میلادی هست و شمسی نمیشه :(

کسی میدونه باید چیکار کرد؟

ویرایش شده در توسط Milad.flight
0

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


لینک به پست

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


/**
* Sets last login time when an user logins
*
* @param int $user_login User Login Identity
* @param WP_User $user User object
* @return void
*/
function wp_set_user_last_login( $user_login, $user ) {
update_usermeta(
$user->ID,
'wp_last_login',
date( 'Y-m-d H:i:s' )
); // Saves last login time as user metadata
}
add_action( 'wp_login', 'wp_set_user_last_login', 10, 2 ); // Saves data after every login

/**
* Gets last user login
*
* @param int $user_id User identity
* @param bool $parsi_date Convert date to Jalali format (Make sure you do have WP-Parsidate plugin)
* @param string $parsi_date_format Parsi date output format
* @return string|bool Returns formatted date or false, when metadata not found.
*/
function wp_get_user_last_login( $user_id = 1, $parsi_date = true, $parsi_date_format = 'Y/m/d H:i:s' ) {
$last_login_date = get_usermeta( $user_id, 'wp_last_login', true );

if ( $last_login_date != '' ) {
if ( $parsi_date ) {
$bndate = bn_parsidate::getInstance();
$bndate = $bndate->persian_date( $parsi_date_format, $last_login_date, 'per' );
return $bndate;
} else {
return $last_login_date;
}
}
return false;
}

/**
* This is an example for showing how above functions work
*
* @return void
*/
function display_example() {
?>
<div class="updated">
<p>آخرین ورود شما در تاریخ <?php echo wp_get_user_last_login( get_current_user_id() ); ?> است</p>
</div>
<?php
}
add_action( 'admin_notices', 'display_example' );

1

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


لینک به پست

ممنون فقط با گذاشتن فاکشن آخری زمان آخرین ورود رو کجا نشون میده؟؟

0

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


لینک به پست

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

فقط 2تا سوال

حتما باید افزونه جلالی نصب باشه یا با wp-parsidate کار میکنه؟

و دومین سوالم اینه که تابع user_registered که تاریخ عضوت رو نشون میده به میلادی هست چطور میتونم شمسیش کنم؟؟

ویرایش شده در توسط Milad.flight
0

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


لینک به پست

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

فقط 2تا سوال

حتما باید افزونه جلالی نصب باشه یا با wp-parsidate کار میکنه؟

و دومین سوالم اینه که تابع user_registered که تاریخ عضوت رو نشون میده به میلادی هست چطور میتونم شمسیش کنم؟؟

ببخشید یکجاش گیر گردم

تو خود افزونه توی php صفحه پروفایلش که تاریخ آخرین لاگین رو نشون میده به اینصورت درست کرده


function nd_update_user_meta( $user_id ) {
update_user_meta( $user_id, 'nd_login_time', current_time('timestamp') );
update_user_meta( $user_id, 'nd_num_comments', wp_count_comments()->approved );
update_user_meta( $user_id, 'nd_num_posts', wp_count_posts('post')->publish );
}

خط اول مربوط میشه به تاریخ آخرین لاگین

حالا با کد هایی که شما دادید من چطور خط اولش رو درست کنم تا تو پروفایل افزونه تاریخ درست شده با کد شما رو نشون بده؟؟

شرمنده ها

0

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


لینک به پست

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

ببینید کد افزونه برای نمایش تاریخ عضویت اینه


</strong></li>
<li><strong><span style="color:#0176AB;"><?php _e('زمان عضویت شما:', 'sb-login'); ?></span> <?php
$id = get_current_user_id();
echo '' . the_author_meta('user_registered', $id) . '';
?>
</strong></li>

من اومدم به این شکلش کردم اما کار نکرد


</strong></li>
<li><strong><span style="color:#0176AB;"><?php _e('زمان عضویت شما:', 'sb-login'); ?></span> <?php
$id = get_current_user_id();
echo '' . the_author_meta('user_registered', $id) . '';
?>
parsidate('Y m d',$datetime='user_registered',$lang='per')
</strong></li>

باید چیکارش کنم؟

0

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


لینک به پست

ببخشید یکجاش گیر گردم

تو خود افزونه توی php صفحه پروفایلش که تاریخ آخرین لاگین رو نشون میده به اینصورت درست کرده


function nd_update_user_meta( $user_id ) {
update_user_meta( $user_id, 'nd_login_time', current_time('timestamp') );
update_user_meta( $user_id, 'nd_num_comments', wp_count_comments()->approved );
update_user_meta( $user_id, 'nd_num_posts', wp_count_posts('post')->publish );
}

خط اول مربوط میشه به تاریخ آخرین لاگین

حالا با کد هایی که شما دادید من چطور خط اولش رو درست کنم تا تو پروفایل افزونه تاریخ درست شده با کد شما رو نشون بده؟؟

شرمنده ها

همون خط اول رو بکنیدش:


$bndate = bn_parsidate::getInstance();
update_user_meta( $user_id, 'nd_login_time', $bndate->persian_date( 'Y/m/d H:i:s', 'now', 'per' ) );

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

ببینید کد افزونه برای نمایش تاریخ عضویت اینه


</strong></li>
<li><strong><span style="color:#0176AB;"><?php _e('زمان عضویت شما:', 'sb-login'); ?></span> <?php
$id = get_current_user_id();
echo '' . the_author_meta('user_registered', $id) . '';
?>
</strong></li>

من اومدم به این شکلش کردم اما کار نکرد


</strong></li>
<li><strong><span style="color:#0176AB;"><?php _e('زمان عضویت شما:', 'sb-login'); ?></span> <?php
$id = get_current_user_id();
echo '' . the_author_meta('user_registered', $id) . '';
?>
parsidate('Y m d',$datetime='user_registered',$lang='per')
</strong></li>

باید چیکارش کنم؟

مثل همون کد بالایی که دادم بهتون.

ویرایش شده در توسط Ehsaan
1

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


لینک به پست

ببینید من متوجه یه چیز دیگه ای شدم

تو این پلاگین 2تا فایل هست

1-logged-in.php

2-sb-login.php

و تو هر 2تا فایل قسمت های مربوط به تاریخ عضویت و زمان آخرین باری که لاگین شده وجود داره

من نمیدونم کدوم رو باید تغییر بدم هر 2تا فایل رو پیوست میکنم شما تغیرات لازمش رو بی زحمت انجام بدید بهم بدید یا این که بگید کدوم رو باید درست کرنم

http://barf98.ir/123123.zip

0

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


لینک به پست

دوست عزیز اسپم ارسال نکنید و منتظر باشید

همون کد خودتون رو به این صورت استفاده کنید :


function get_last_login($user_id) {
$last_login = get_user_meta($user_id, 'last_login', true);
$date_format = the_time('l, F jS, Y');
$the_last_login = mysql2date($date_format, $last_login, false);
echo $the_last_login;
}

1

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


لینک به پست

دوست عزیز اسپم ارسال نکنید و منتظر باشید

همون کد خودتون رو به این صورت استفاده کنید :


function get_last_login($user_id) {
$last_login = get_user_meta($user_id, 'last_login', true);
$date_format = the_time('l, F jS, Y');
$the_last_login = mysql2date($date_format, $last_login, false);
echo $the_last_login;
}

بله چشم ببخشید

0

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


لینک به پست

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


/*آخرین زمان ورود*/
function your_last_login($login) {
global $user_ID;
$user = get_userdatabylogin($login);
update_usermeta($user->ID, 'last_login', jdate('d M Y ساعت: H:i:s'));
}
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 = jdate('d M Y ساعت: H:i:s') . ' ';
$the_last_login = mysql2date($date_format, $last_login, true);
echo $the_last_login;
}

برای فراخوانی هم از این استفاده کن:


<?php
global $userdata;
get_currentuserinfo();
echo 'آخرین ورود شما :';
get_last_login($userdata->ID);
?>

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


<?php date_default_timezone_set('Asia/Tehran');?>

ویرایش شده در توسط graphicno
1

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


لینک به پست

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


/*آخرین زمان ورود*/
function your_last_login($login) {
global $user_ID;
$user = get_userdatabylogin($login);
update_usermeta($user->ID, 'last_login', jdate('d M Y ساعت: H:i:s'));
}
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 = jdate('d M Y ساعت: H:i:s') . ' ';
$the_last_login = mysql2date($date_format, $last_login, true);
echo $the_last_login;
}

برای فراخوانی هم از این استفاده کن:


<?php
global $userdata;
get_currentuserinfo();
echo 'آخرین ورود شما :';
get_last_login($userdata->ID);
?>

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


<?php date_default_timezone_set('Asia/Tehran');?>

ممنون دوست عزیز اما نمیدونم چرا به جای این که تاریخ آخرین ورود رو نشون بده 10 ثانیه قبل از زمان ورود رو نشون میده یعنی اگه مثلا اگه دیروز ساعت 10:50 بیرون رفته باشم بعد فردا وارد بشم تاریخ روز رو با 10 ثانیه کمتر نشون میده

0

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


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط asemon14
      سلام
      بنده افزونه وردپرس پارسی را نصب دارم
      الان که میام از بخش مدیریت وردپرس در بخش مطالب، نوشته ها را بر حسب تاریخ فیلتر کنم. صفحه سفید ظاهر میشه و صفحه ای بارگزاری نمیشه
      روی چند سایتم هم تست کردم این مشکل هست. فیلتر با تاریخ میلادی مشکلی نداره!!
    • توسط 3ngineer
      سلام دوستان وقت بخیر
      برای نمایش تاریخ در یک خط یک کد پیدا کردم :
      <?php echo jdate('l d F Y'); ?> الان نمیدونم اینو کجا اضافه کنم؟ و اینکه هیچ فراخوانی نیاز نداره؟ یا فایلی؟ 
      (افزونه پارسی دیت هم دارم ولی اون یه تقویم میده که اندازش تقریبا بزرگه.)
    • توسط محمدحسن
      سلام، اصل مطلب اینه. من یک سایت با افزونه wpml راه اندازی کردم.حالا میخوام تو حالت فارسی با یکی از افزونه های فارسی ساز و شمسی ساز اعداد رو فارسی و تاریخ رو شمسی کنم و در حالت انگلیسی به صورت پیش فرض بشه یعنی این افزونه فارسی ساز غیرفعال بشه ... مثلا یا افزونه جلالی یا افزونه پارسی دیت

      لطفا یه کد مناسب یا افزونه مناسب یا اگر کسی تنظیمی در WPML بلد هست بگه ... ممنون میشم
    • توسط nanoks
      سلام به تمام دوستان
      پوسته ای دارم که در حالت میلادی در w3 به صورت ولید هست و هیچ اروری رو نشون نمیده
      اما در حالت شمسی ارور میگیره
      کد نمایش داده شده :
      <time itemprop="datePublished" datetime="۱۳۹۶/۲/۳۱ ۱۰:۴۳:۵۵">۳۱ اردیبهشت, ۱۳۹۶</time>
      کد داخل قالب برای نمایش تاریخ :
      <time <?php presso_itemprop('datePublished'); ?> datetime="<?php echo esc_attr( get_the_time('c') ); ?>"><?php echo get_the_date(); ?></time>  
    • توسط ariyadl
      سلام دوستان
      ما در حال راه‌اندازی یک موتور جستجوگر با وردپرس هستیم. (صرفا داخل مطالب سایت) مثل واژه‌یاب (می‌دونم واژه‌یاب سیستمش اختصاصی هست)
      حالا سوالم اینه که چطوری می‌شه بر اساس تاریخ کاربر در مطالب سایت جستجو کنه؟
      تاریخ ارسال پست منظورم نیست. (تاریخی که خودم تعیین می‌کنم)
      مثلا من موقع ایجاد پست یک فیلدی قرار می‌دم و تاریخ رو می‌زنم 1392 - حالا یوزر وقتی وارد سایت شد و جستجوی پیشرفته رو انتخاب کرد بتونه بر اساس سال جستجو کنه.
      به چه روش می‌شه راه‌اندازی کرد؟
       
      سوال دومم این هست که این فروشگاه‌ها که امکان تعیین محصول بر اساس پارامترهای مختلف دارن، مثلا کالای تلویزیون رو در نظر بگیرید حالا یوزر می‌تونه بر اساس قیمت، برند، سایز و ... تعیین کنه جهت نمایش محصول به چه صورت راه‌اندازی شدن؟ (عکس پیوست شده را لطفا مشاهده کنید)
      الان برای هر بخش دسته‌ای جداگانه ساخته شده یا روش کارش طور دیگه‌ای هست؟
       
      ممنون می‌شم راهنمایی فرمایید.