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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط Reza0098
      سلام
      کل قسمت های قالب  REAL HOMES رو فارسی سازی کردم ولی یک بخشش هر چقدر گلنجار رفتم نتونستم فارسی کنم و تصمیم گرفتم سوالم رو اینجا بپرسم شاید کسی تونست راهنماییم کنه
      بعد از اینکه کاربر به سایت لوگین میکنه و وارد پنل کاربریش میشه و املاک های خودش رو مشاهده میکنه چند وضعیت publish و pending و ... برای املاک ثبت شدش مشاهده میکنه ولی من هر چقدر گشتم نتونستم این کلمات رو پیدا و فارسی سازیش کنم که بجای کلمات انگلیسی بنویسه منتشر و بازبینی و در فایل ترجمه زبانش هم نبود ، حالا لطفا اگر کسی میتونه من رو راهنمایی کنه
      در کد PHP این رو نوشته که نشان میده این وضعیت رو از متد get_post_status() میگییره
      2 تا تصویر پیوست کردم تا بیشتر با مشگلم آشنا شید
      منتظر جواب دوستان هستم !
       
      موفق باشید
       


    • توسط nima-kian
      سلام دوستان
      من افزونه bookly رو برای نوبت دهی و رزرو نصب کردم اما تقویمش میلادی هست
      کسی میتونه راهنمایی کنه من تقویم این افزونه رو شمسی کنم؟؟؟
    • توسط shirin010101
      سلام
      میخواستم بدونم وقتی قالب فارسی میشه نوشته‌های ترجمه شده کجا قرار میگیره؟
      مثلا من الان از قالب twenty seventeen استفاده میکنم میخوام یه قسمتی رو عبارتش رو عوض کنم. (قسمت منو در نمایش موبایل. نوشته: «گزینگان». میخوام همون منو بنویسم.)
       
      البته میدونم با افزونه Loco Translate این کار رو میشه انجام داد. بدون افزونه میخوام انجام بدم.
    • توسط pouryamb
      سلام دوستان عزیز
      من دارم قالب سایتم رو با تگ های schema.org هماهنگ میکنم و به یک مشکل بر خوردم. تاریخ مطالب در قالب به صورت شمسی نشون داده میشه و میخوام همینطور بمونه. اما برای اینکه گوگل بتونه تاریخ رو از طریق تگ schema بشناسه، یک meta اضافه کردم و الان مشکلم فقط با این هست که تاریخ رو به صورت شمسی میزنه.
      چطوری میشه تاریخ درون get_the_time('c') رو به میلادی تبدیل کرد؟ با سپاس
    • توسط hessamasna
      سلام من یه سایت دارم که با be theme ساختم و صفحات اش رو هم با مافین بیلدر ساختم می خوام تمام اعداد رو رو فارسی کنم چجوری باید انجام بدم ممنون می شم بگید اعداد مثلا countup . count down و.... 
      سایت https://applastgroup.com/