رفتن به مطلب

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

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

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

اینم کدش هست


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 :(

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


لینک به ارسال

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

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

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


// 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

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


لینک به ارسال

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

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


لینک به ارسال

کل کد این هست


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 پست ها و کامنت هایی که بعد از آخرین ورود کاربر آمده نشون میده

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

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


لینک به ارسال

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

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


لینک به ارسال

کل کد این هست


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/

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


لینک به ارسال

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

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

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

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

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

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


لینک به ارسال

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


/**
* 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' );

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


لینک به ارسال

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

فقط 2تا سوال

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

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

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

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


لینک به ارسال

1. با افزونه wp-parsidate فقط کار میکنه.

2. مستندات بسته پارسی ساز رو بخونید.

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


لینک به ارسال

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

فقط 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 );
}

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

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

شرمنده ها

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


لینک به ارسال

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

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


</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>

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

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


لینک به ارسال

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

تو خود افزونه توی 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

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


لینک به ارسال

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

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

1-logged-in.php

2-sb-login.php

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

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

http://barf98.ir/123123.zip

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


لینک به ارسال

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

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


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

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


لینک به ارسال

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

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


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

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

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


لینک به ارسال

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


/*آخرین زمان ورود*/
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

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


لینک به ارسال

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


/*آخرین زمان ورود*/
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 ثانیه کمتر نشون میده

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


لینک به ارسال

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

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

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

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

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

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

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

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


  • مطالب مشابه

    • توسط david7222222222
      چطور میتونم تقویم یک افزونه ی وردپرس رو شمسی کنم ؟ از تقویم این افزونه برای حسابداری و ثبت قرار ملاقات استفاده میشه و باید در نمایش هم کاملا شمسی باشه.لطفا کمک کنید ممنون
    • توسط Black.Flag
      سلام دوستان 
      به یک مشکل عجیب برخوردم و نمیدونم چجوری حلش کنم ... من وقتی یک پست میزارم تاریخش درسته ومشکلی نداره ولی وقتی دوباره برمیگردم  تغییراتی رو داخل پست بدم تمامی تاریخ ها به هم میریزه و به اون حالتی که توی عکس فرستادم در میاد ..
      چون سایت ما هم یک سایت فروشگاهی هستش وقتی کسی سفارش میده تاریخ سفارش هم به همون مشکل برمیخوره و بد نشون میده 

    • توسط Emcado
      سلام به همه...
      افزونه WCFM - WooCommerce Frontend Manager که برای چند فروشندگی هست رو از مخزن وردپرس دانلود کردم...
      این افزونه یه نسخه پرو هم داره که برای تایید و مدال به فروشندس که اونم از یک سایت خارجی معتبر دانلود کردم...
      افزونه ها نصب شدن و به طور کامل اجرا میشن بدون هیچ مشکلی...
       
      فقط 2 تا مشکل جزئی هست امیدوارم بتونید کمک کنید...
      1-بعضی جاهای افزونه راستچین نیست.
      2-پنل نمایش فروش و برداشت ها و ... که به صورت نموداری هست تاریخ میلادیه و کلا تاریخ افزونه میلادیه مثلا یک ماه رو از تاریخ میلادی حساب میکنه...
      هر دو فایل افزونه رو به اضافه عکس اون بخش پیوست میکنم لطفا چک کنید...

      wc-frontend-manager-ultimate.zip
      wc-frontend-manager.6.2.7.zip
    • توسط m_boluki
      سلام 
      توی وردپرس صفحه تنظیمات عمومی تاریخ و ساعت شمسی رو اشتباه میزنه . در واقع تاریخ و ساعت محلی رو با تاریخ و ساعت جهانی جابجا میزنه و این باعث شده که تاریخ و ساعت کل سایت اشتباه باشه . 

    • توسط محمد عنبرستانی
      سلام
      احتمالا با WC Marketplace آشنا هستید این افزونه مثل افزونه دکان به ووکامرس این امکان رو اضافه می کنه که بشه چندین فروشنده دریک فروشگاه داشت (multi vendor) من نسخه ۳.۳.۶ شمسی کردم (ازجمله date picker) زبان فارسی هم از قبل براش موجود هستش ...
      توجه داشته باشید که به افزونه شمسی ساز وردپرس که در همین انجمن ارائه شده نیاز خواهید داشت.
      این افزونه درکل رایگان هست نسخه شمسی شده هم همین طور... امیدوارم مورد استفادتون قرار بگیره...
      dc-woocommerce-multi-vendor-shamsi.zip
×
×
  • اضافه کردن...