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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

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

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

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

    • توسط chemist
      با سلام و احترام؛
      من از افزونه بسیار خوب پارسی دیت برای شمسی کردن تاریخ استفاده می کنم
      https://fa.wordpress.org/plugins/wp-parsidate/
      مشکلی که دارم این هست در قسمت پستها و ... تاریخ به درستی نمایش داده میشه ولی در قسمت کامنتهای قالب که مدت زمان گذشته از تاریخ ارسال کامنت رو نمایش میده، مینویسه 49 سال! پیش
      چطور باید این مورد را اصلاح کنم؟ با غیر فعال کردن افزونه پارسی دیت به درستی نمایش میده
      ممنون میشم راهنمایی بفرمائید
      لازم به ذکر هست که با چند تا از افزونه نه چندان معروف، تست شد و این مشکل وجود نداشت ولی باز ترجیح بنده استفاده از افزونه مورد تأیید انجمن وردپرس پارسی هست.
      با سپاس
    • توسط hendo
      سلام
      من یه مشکلی دارم برای فارسی سازی
      با نرم افزار پوادیت تمام فارسی سازی هارو انجام دادم منهی عنوان پلاگین و زیر منو هاش نمیدونم کجا باید فارسی کنم لطفا راهنمایی کنید تو کدام بخش از فایلها میشه پیدا کرد