رفتن به مطلب

نمایش تاریخ اخرین دیدگاه یک پست در وردپرس


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

سلام

چطور میتونم تاریخ اخرین دیدگاه یک پست رو به دست بیارم و نمایش بدم. بطور مثال تاریخ اخرین دیدگاه یک پست(نه اخرین دیدگاه سایت) را میخوام به دست بیارم و نمایش بدم. اخرین بروزرسانی یک پست بشه تاریخ اخرین دیدگاه اون پست:

تایتل بشه: اخرین بروزرسانی در (خب حالا کد پی اچ پی که تاریخ اخرین دیدگاه اون پست رو به دست میاره و نمایش میده رو قرار بدم)

لطفا راهنمایی کنید. با تشکر فراوان

لینک به ارسال

تست کنید.


<?php
$PostID = get_the_ID();
$comments = get_comments('post_id=$PostID&number=1');
foreach($comments as $comment) :
print "آخرین نظر این مطلب :". $comment->comment_date. ".";
endforeach;
?>

لینک به ارسال

سلام

ممنون. بله این کد کار کرد ولی اخرین تاریخ اخرین کامنت رو نشون میده. ضمن اینکه فارسی هم نیست. میخوام به فارسی و شمسی نمایش بده. این تاریخ رو میلادی نشون میده و همونطور که بالا هم گفتم من میخوام تاریخ اخرین کامنت هر پست رو به دست بیارم. یعنی برای پست های مختلف متفاوت باشه. مثلا پست 1 اخرین کامنتش در تاریخ 21/9/92 ارسال شده و پست شماره 2 اخرین کامنتش در تاریخ 6/6/93 حالا میخوام برای هر پست یه کدی انتهای پست بذارم که اخرین بروزرسانی پست رو توسط کامنت نمایش بده.

به عبارت دیگه یه قطعه کد که به single.php اضافه میشه و تاریخ اخرین کامنت همون پست رو محاسبه و نمایش میده. کد بالا تاریخ اخرین کامنت ارسالی سایت هست که بالا گفتم اینو نیاز ندارم و راه های ساده تری برای نمایشش هست

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

ویرایش شده توسط parrot
لینک به ارسال

کد قبلی رو پاک و اینو جایگزین کنید. شمسیه تست شده با parsidate و بدون ساعت

موفق باشید .


<?php
$PostID = get_the_ID();
$comments = get_comments('post_id=$PostID&number=1');
foreach($comments as $comment) :
print get_comment_date('j F Y');
endforeach;
?>

ویرایش شده توسط مریم مقبولی
لینک به ارسال

سلام این کد مورد بالایی رو که گفتم اصلاح میکنه. یعنی تاریخ اخرین کامنت سایت رو نمیخوام. تاریخ اخرین دیدگاه هر پست رو میخوام به صورت مجزا

اقا تستو زدم

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

اخرین دیدگاه پستی که میخوام 20 مرداد 93 هست و این کد تاریخ رو ۱۱ دی ۱۳۴۸ نشون میده

لینک به ارسال

سلام

ایده و نظری نیست؟ بعید میدونم کاری که میخوام بکنم امکان پذیر نباشه. با توجه به اینکه هم وردپرس قابل انعطافه شدیدا.

لینک به ارسال

سلام

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

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

اینم کد مورد نظر


<?php
$comments = get_comments( array(
'post_id' => $post->ID,
'number' => 1,
'status' => 'approve'
) );
foreach($comments as $comment) :
echo "{$comment->comment_date}";
endforeach;
?>

لینک به ارسال

اینم همون کدیه که بهتون دادم همون اولی که میلادی بود ! منتها یه ذره کوچیک تغییر داده شده

برای اینکه بتونم تاریخو شمسی کنم از get استفاده کردم که باعث شد آخرین نظر سایت رو نشون بده نه مطلب رو

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

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

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


$comment->comment_date

رو به


$comment->comment_jdate

تغییر بدید و تست کنید .

موفق باشید .

لینک به ارسال

سلام

افزونه پارسی دیت فعال هست و درست کار میکنه. تقریبا میتونم بگم تاریخی نیست که تو سایت فارسی نشده باشه. از پست ها و برگه ها بگیر تا کامنت ها.

حقیقتا کدی که دادین لاتین برمیگردوند، ضمن اینکه ببخشید بنده واسه تست مجددا کد اول شما رو امتحان کردم ولی باید بگم اون اصلا تاریخ اخرین کامنت سایت رو نشون میده نه اخرین کامنت هر پست. به عبارتی اخرین کامنتی که در سایت(حالا فرق نمیکنه تو چه پستی ارسال شده باشه) رو برمیگردونه. حالا تاریخش میلادی باشه یا شمسی فرق نمیکنه. چیزی که میخواستم نبود. البته از زحماتی که کشیدین و پاسخگوییتون تشکر میکنم و اگه همون کد اول رو نذاشته بودین هنوز مشکلم حل نشده بود و جا داره یه تشکر ویژه انجام بدم. حداقل شما جواب دادین. سایر دوستان که انگار علاقه ای به شرکت در بحث هم ندارن.

به هر حال کدی که پیدا کردم و دو پست بالاتر گذاشتم تاریخ اخرین کامنت هر پست رو نشون میده و کارمو راه انداخت و دیگه نمیدونم مثل کد شماست یا نیست یا .... اما خب مشکلم حل شد. فقط اگه ممکنه روشی رو شما یا دوستان دیگه که پارسی دیت رو نوشتن ارائه کنن واسه فارسی کردن تاریخ بالا. چون حقیقتا تمایلی به استفاده از افزونه جلالی ندارم. مشکل عمدشم اینه که تاریخ پست ها فارسی نمیشه + اینکه با انجمنی که دارم هم مشکل داره. ولی پارسی دیت هیچ مشکلی نداره. فقط همین کد بالا فارسی نشد که اونم اگه دوستان لطف کنن فکر کنم بتونن راهنمایی کنند.

ممنون از همه و منتظرم

ویرایش شده توسط parrot
لینک به ارسال

شرمنده :D برای آخرین بار اینو تست کنید .


<?php
$comments = get_comments( array(
'post_id' => $post->ID,
'number' => 1,
'status' => 'approve',
) );
foreach($comments as $comment) :
echo get_comment_date('j F Y');
endforeach;
?>

من که تست کردم مشکلی ندیدم .

اگر خواستین باهاش میشه ساعت نظر رو هم نشون داد .

ویرایش شده توسط مریم مقبولی
لینک به ارسال

سلام

ممنون از پاسخگوییتون مریم خانوم. بنده این رو تست کردم. تاریخ رو فارسی میکنه ولی اشتباه نشون میده. تاریخ رو مثلا 11 دی 1348 شمسی نشون میده در صورتی که الان 1393 هستیم. به صورت انگلیسی و کد comment_date درست هست ولی وقتی تغیر میدم به get_comment_date('j F Y') فارسی میشه اما غلط. البته افزونه جلالی رو تست کردم و مشکلی با این نداره.


$comment->comment_jdate

ولی پارسی دیت مشکل داره برای این منظور البته. همونطور که گفتم تاریخ همه جا صحیح تبدیل شده ولی برای کد بالا رو تبدیل میکنه به 1348!!!!

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

لینک به ارسال

سلام

ممنون از پاسخگوییتون مریم خانوم. بنده این رو تست کردم. تاریخ رو فارسی میکنه ولی اشتباه نشون میده. تاریخ رو مثلا 11 دی 1348 شمسی نشون میده در صورتی که الان 1393 هستیم. به صورت انگلیسی و کد comment_date درست هست ولی وقتی تغیر میدم به get_comment_date('j F Y') فارسی میشه اما غلط. البته افزونه جلالی رو تست کردم و مشکلی با این نداره.


$comment->comment_jdate

ولی پارسی دیت مشکل داره برای این منظور البته. همونطور که گفتم تاریخ همه جا صحیح تبدیل شده ولی برای کد بالا رو تبدیل میکنه به 1348!!!!

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

دوست عزیز بنده کدو تست میکنم خدمت شما ارائه میدم در سایت من هیچ مشکلی نداره کاملا شمسی میشه و از افزونه پارسی دیت استفاده کردم

اگر اولش هم ایرادی نظیر اینکه آخرین کامنت سایت رو نشون میداد باید بگم که متوجهش نشدم

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

مستندات افزونه


http://forum.wp-parsi.com/topic/15855-%D8%AA%D9%88%D8%B6%DB%8C%D8%AD%D8%A7%D8%AA-%D9%88-%D9%85%D8%B3%D8%AA%D9%86%D8%AF%D8%A7%D8%AA-%D8%A8%D8%B3%D8%AA%D9%87-%D9%BE%D8%A7%D8%B1%D8%B3%DB%8C-%D8%B3%D8%A7%D8%B2/

لینک به ارسال
  • 2 سال بعد...

به نظرم این باگ هست، چون من هم  همین مشکل رو دارم و با کد زیر موقتا حلش کردم:

<?php echo parsidate('j F Y', $comments[$ndx]->comment_date, 'per'); ?>

@Morteza

لینک به ارسال
  • 1 ماه بعد...

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

پلاگین پارسی دیت باید نصب باشه

    $args = array(
        'post_id' => $post->ID,
        'orderby' => array('comment_date'),
        'order' => 'DESC',
        'number' => 1
    );
    $comment = get_comments( $args );
    if(!empty($comment))
    echo parsidate('Y-m-d',$comment[0]->comment_date);

 

لینک به ارسال

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

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

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

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

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

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

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

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

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