no-img
سوس وردپرس

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

بروزرسانی؛
27 آگوست 2020
کد نویسی

نمایش تاریخ میلادی با 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://soswp.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();?>

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

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

// show jdate update time by https://soswp.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 که در ابتدای مقاله گفته شد اکنون برای نمایش تاریخ انشار به شمسی از تابع زیر در نوشته های خود استفاده نمایید.

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

<?php echo jdate('d F Y ساعت H:i', get_post_timestamp());?>

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

لینک کوتاه : https://soswp.ir/?p=17090
سلام علیکم!
فرم گزارش را به دقت تکمیل نمایید...
از همکاری شما پیشاپیش سپاسگذاریم