Ali SH

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

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

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

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

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

<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

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


لینک به پست

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

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

0

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


لینک به پست

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

2

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


لینک به پست

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

<?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 ، بنویسه آبان ماه) باید چه تغییری بدم؟

0

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


لینک به پست

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

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


لینک به پست

ارسال شده در (ویرایش شده)

کدی که دادید رو امتحان کردم . fatal error میده.

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

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


لینک به پست

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

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


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

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


لینک به پست

فداسرتون

الان درست شد

تشکر از شما

2

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


لینک به پست

ارسال شده در (ویرایش شده)

جهت تبدیل تاریخ آخرین بروزرسانی مطلب به تاریخ شمسی، ابتدا کد زیر را در فایل 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
0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط omid4264
      سلام دوستان،
      نیاز به نسخه فارسی یا RTL افزونه Modal Survey دارم یا افزونه دیگری که مشابه اون باشه.
       
    • توسط khayamchoob97
      سلام
      من چند روزی هست که توی سایتم با استفاده از کد زیر تاریخ رو نمایش میدم. اما هر بار برای تازه شدن تاریخ باید صفحه سایت رو رفرش کنم تا تاریخ درست نمایش داده بشه.
      <?php echo jdate ('l, j F , Y') ; ?> ممنون
    • توسط needkar.ir
      سلام من پوسته appsettre رو نصب کردم تاوقتی بسته وردپرس فارسی رو نصب نکرده بودم تاریخ ها به میلادی زیر هر پست نمایش داده میشد بعد از نصب این افزونه اگه مطالب رو به زبان انگلیسی بنویسم تاریخ به خورشیدی زیر پست نمایش داده میشه اما اگه به فارسی بنویسم هیچ تاریخی زیر مطلب نمایش داده نمیشه. مشکل از کجاست؟ لطفا راهنمایی کنید
    • توسط Reza0098
      سلام
      کل قسمت های قالب  REAL HOMES رو فارسی سازی کردم ولی یک بخشش هر چقدر گلنجار رفتم نتونستم فارسی کنم و تصمیم گرفتم سوالم رو اینجا بپرسم شاید کسی تونست راهنماییم کنه
      بعد از اینکه کاربر به سایت لوگین میکنه و وارد پنل کاربریش میشه و املاک های خودش رو مشاهده میکنه چند وضعیت publish و pending و ... برای املاک ثبت شدش مشاهده میکنه ولی من هر چقدر گشتم نتونستم این کلمات رو پیدا و فارسی سازیش کنم که بجای کلمات انگلیسی بنویسه منتشر و بازبینی و در فایل ترجمه زبانش هم نبود ، حالا لطفا اگر کسی میتونه من رو راهنمایی کنه
      در کد PHP این رو نوشته که نشان میده این وضعیت رو از متد get_post_status() میگییره
      2 تا تصویر پیوست کردم تا بیشتر با مشگلم آشنا شید
      منتظر جواب دوستان هستم !
       
      موفق باشید
       


    • توسط nima-kian
      سلام دوستان
      من افزونه bookly رو برای نوبت دهی و رزرو نصب کردم اما تقویمش میلادی هست
      کسی میتونه راهنمایی کنه من تقویم این افزونه رو شمسی کنم؟؟؟