رفتن به مطلب

فارسی سازی تاریخ آخرین ویرایش نوشته


Ali1

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

سلام به همه دوستان

من هرچی گشتم این مطلب رو پیدا نکردم اگر تکراریه ببخشین

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

<span class="date"><?php the_modified_time(__('F jS, Y', 'inove')); ?></span>

چه جوری باید این کار رو بکنم :huh:

با تشکر فراوان :)

ویرایش شده توسط ali110
  • امتیاز 1
لینک به ارسال

عجب! یعنی توی افزونه جلالی اینو یادشون رفته :P

دو راه داره .

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

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

با استفاده از تابع gregorian_to_jalali سه تا آرگومان میگیره . به ترتیب روز و ماه و سال میلادی .

و خروجیش روز و ماه و سال شمسیه .

اگه میتونی خودت انجامش بده اگه نه صبر کن ببینیم مورد اول رو اضافه میکنن یا نه اگه خودم میام اینجا ترتیبشو میدم برات . ^_^

  • امتیاز 4
لینک به ارسال

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

<?php
$mdate = explode(',', get_the_modified_time('Y,m,d'));
$odate = gregorian_to_jalali($mdate[0],$mdate[1],$mdate[2]);
$rdate = '';
foreach($odate as $dateout){
$rdate .= farsi_num($dateout).'/';
}
echo $rdate;
?>

  • امتیاز 6
لینک به ارسال

از اولی که سر در نیاوردم اما :

کد بالایی رو باید جای این کد بگذارم؟ آخه اون کدی که من بالا گذاشتم پی اچ پی نداره؟ قضیش چیه اونو حذف کنم اینو بگذارم؟

لینک به ارسال

کد شما خط اول این کده و باقی هم تغیراتیه که خواستید این کد را با کد خودتون جابجا کنید داخل تگ span بگذاریدش

  • امتیاز 2
لینک به ارسال
  • 3 ماه بعد...

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

<?php
$mdate = explode(',', get_the_modified_time('Y,m,d'));
$odate = gregorian_to_jalali($mdate[0],$mdate[1],$mdate[2]);
$rdate = '';
foreach($odate as $dateout){
$rdate .= farsi_num($dateout).'/';
}
echo $rdate;
?>

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

دو تا سوال در موردش دارم:

اول این که : تاریخ به این صورت نوشته میشه الان: ۱۳۹۱/۸/۲۵/

یک اسلش اضافی کنار سال میاد . چگونه باید برش داشت؟

دوم این که: اگر بخوام به جای عدد ، ماه به صورت حروف (مثلا به جای 8 ، بنویسه آبان ماه) باید چه تغییری بدم؟

لینک به ارسال

<?php
$mdate = explode(',', get_the_modified_time('Y,m,d'));
$odate = gregorian_to_jalali($mdate[0],$mdate[1],$mdate[2]);
$rdate = '';

$month = array('','فروردین','اردیبهشت','خرداد','تیر','مرداد','شهریور','مهر','آبان','آذر','دی','بهمن','اسفند');
$c = 0 ;
foreach($odate as $dateout)
{
$c++;
if($c == 2)
$rdate .= $month[$dateout];
else
$rdate .= farsi_num($dateout).'/';
}
echo rtim($rdate,'/');
?>

  • امتیاز 3
لینک به ارسال

خطای املایی بود ببخشید ;)

این روزا دستخطم خراب شده


<?php
$mdate = explode(',', get_the_modified_time('Y,m,d'));
$odate = gregorian_to_jalali($mdate[0],$mdate[1],$mdate[2]);
$rdate = '';

$month = array('','فروردین','اردیبهشت','خرداد','تیر','مرداد','شهریور','مهر','آبان','آذر','دی','بهمن','اسفند');
$c = 0 ;
foreach($odate as $dateout)
{
$c++;
if($c == 2)
$rdate .= $month[$dateout].'/';
else
$rdate .= farsi_num($dateout).'/';
}
echo trim($rdate,'/');
?>

  • امتیاز 4
لینک به ارسال
  • 8 ماه بعد...

جهت تبدیل تاریخ آخرین بروزرسانی مطلب به تاریخ شمسی، ابتدا کد زیر را در فایل functions.php پوسته خود اضافه کنید :

function mps_the_jmodtime($input,$d='') {
global $id, $post;
if (!empty($input)){
if ($d == "") $d = get_option('time_format');
$m = $post->post_modified;
$timestamp = mps_maketimestamp($m);
$the_time = jdate($d, $timestamp);
return $the_time;
}

}
add_filter('the_modified_time','mps_the_jmodtime',10,4);

سپس کافیست در هر جای پوسته که میخواهید تاریخ آخرین ویرایش نمایان شود کد زیر را اضافه کنید:

<?php the_modified_time('l, j F Y, g:i a'); ?>

منبع

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

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...