نمایش تاریخ میلادی با Jdate

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

1) نمایش تاریخ انتشار مطالب به صورت شمسی با jdate

برای نمایش تاریخ شمسی باید از تابع jdate استفاده کنیم.

ابتدا آخرین نسخه کتابخانه jdf.php را از سایت jdf.scr.ir/download دانلود نمائید.

در قالب سایتتان یک پوشه با نام lib بسازید و فقط فایل jdate.php را در آن قرار دهید (ما در اینجا از پوشه lib استفاده کردیم، شما می توانید از هر پوشه ای در قالب اینکلود کنید، فقط دقت کنید ادرس انکلود را درست وارد کنید.)

include('lib/jdf.php');

حالا کد بالا را به ابتدای functions.php اضافه کنید.

سپس کد زیر را در فایل functions.php به انتهای فایل قبل از ?> اضافه کنید.

// show jdate publish time by https://digital98.ir
function get_jdate_publish_time(){
	$greg_date = get_post_time('d F Y');
	$timestamp = strtotime($greg_date);
	if ( function_exists('jdate') ) {
		echo jdate('d F Y',$timestamp);
	} else {
		echo $greg_date;
	}
}

توضیح کد بالا:

ابتدا یک تابع به نام get_jdate_publish_time ساختیم. توی این تابع اعلام کردیم که توی متغیر greg_date تاریخ پست رو بگیر. سپس با استفاده از تابع strtotime، تاریخ قابل خوندن برای انسان رو به تاریخ قابل خوندن برای کامپیوتر تبدیل کن و در نهایت اگر jdate روی سایت فعال بود. (یعنی افزونه وردپرس جلالی فعال بود) این تاریخ رو بصورت جلالی خروجی بگیر و echo کن.

حالا در فایل single.php یا هر جا که قصد دارید تاریخ را نمایش دهید، کد زیر را به جای تابع get_post_time جایگزین کنید.

<?php get_jdate_publish_time();?>

حالا می بینید که تاریخ به صورت 4 آذر 1399 منتشر میشود، اگر قصد دارید که تاریخ به صورت 4 09 1399 نمایش داده شود کافیست فقط در خط 6 (خوب دقت کنید) به جای F حرف m را قرار دهید. به همین راحتی (برای تابع بعدی که توضیح میدهیم نیز صدق میکند یعنی خط 6 تابع بعدی…)

2) نمایش تاریخ آپدیت پست بصورت شمسی با jdate

برای نمایش تاریخ آپدیت پست، باید همین تابع رو مجدد با نام دیگری بسازیم. با این تفاوت که به جای get_post_time از get_post_modified_time استفاده می‌کنیم. این کد را نیز به ادامه کد قبل در فایل functions.php اضافه کنید.

// show jdate update time by https://digital98.ir
function get_jdate_update_time(){
$greg_date = get_post_modified_time('d F Y');
$timestamp = strtotime($greg_date);
if ( function_exists('jdate') ) {
echo jdate('d F Y',$timestamp);
} else {
echo $greg_date;
}
}

حالا به جای modified_time از get_post_modified_time استفاده می‌کنیم. یعنی در فایل single.php از این کد برای نمایش تاریخ آپدیت پست استفاده می‌کنیم.

<?php get_jdate_update_time();?>

برای نمایش مطالب بیشتر و جزئیات jdate روی لینک زیر کلیک کنید.

https://jdf.scr.ir/rahnama/?t=jdate