zuhair

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

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

د.
ببخشید یه سوال داشتم.
من یک سایت دو زبانه دارم که به کمک ترنسپاش ایجاد کردم.
اینجا به یک مشکل برخوردم.مشکل در تاریخ هاست من میخوام وقتی در قسمت لاتین هستم پستهام هم تاریخشون میلادی باشه و وقتی در قسمت فارسی هستم تاریخ به صورت شمسی.و نمیدونم چطور اینرا اعمال کنم.تمام تنظیمات رو هم بررسی کردم.میتوتم تغییر بدم تاریخ رو از شمسی  به میلادی.ولی وقتی تغییر میدم و در شمسی است تاریخ دیگه تغییر نمیکنه در قسمت en.
ممنون میشم اگر راهنمایی کنید. 
با تشکر

0

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


لینک به پست

سلام،

شما میتونید با یه if ساده توی functions.php تم این کار رو انجام بدید. یعضی وقتی سایت انگلیسی بود اون فیلتری که تاریخ رو توی افزونه (هر افزونه ای) به شمسی برمیگردونه رو disable کنید.

 

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

 

<?php
function _the_date($post_id = null) {

	if( empty($post_id) ) {
		global $post;
		$post_id = $post->ID;
	}

	if( CURRENT_YOUR_SITE == 'en' ) {
		// Return gregorian date
	} else {
		// Returen shamsi date
	}

}

 

3

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


لینک به پست

در ادامه فرمایش آقا مصطفی، برای بدست آوردن زبان هم میتونید از ثابت ICL_LANGUAGE_CODE که WPML در اختیارتون میزاره استفاده کنید:

if(  ICL_LANGUAGE_CODE === 'fa' ) {
	// تاریخ شمسی
} else {
	// تاریخ میلادی
}

 

2

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


لینک به پست
در 10 ساعت قبل، start گفته است :

در ادامه فرمایش آقا مصطفی، برای بدست آوردن زبان هم میتونید از ثابت ICL_LANGUAGE_CODE که WPML در اختیارتون میزاره استفاده کنید:


if(  ICL_LANGUAGE_CODE === 'fa' ) {
	// تاریخ شمسی
} else {
	// تاریخ میلادی
}

 

خیلی ممنون از آقا مصطفی و start عزیز.من مشکلم دقیقا در همون قسمت دو تا شرط هست.من if رو تو خود صفحه و با bloginfo language میزارم شاید زیاد درست نباشه ولی کارمو راه انداخته بود.مشکل من دقیقا همون قسمت کامنت شده هست :) . اگر کدی هست تو افزونه پارسی دیت یا جلالی که این کارو انجام بده خیلی ممنون میشم ازتون اگه راهنمایی کنید.دوباره با تشکر از لطفتون 

0

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


لینک به پست
در 5 ساعت قبل، zohaye گفته است :

خیلی ممنون از آقا مصطفی و start عزیز.من مشکلم دقیقا در همون قسمت دو تا شرط هست.من if رو تو خود صفحه و با bloginfo language میزارم شاید زیاد درست نباشه ولی کارمو راه انداخته بود.مشکل من دقیقا همون قسمت کامنت شده هست :) . اگر کدی هست تو افزونه پارسی دیت یا جلالی که این کارو انجام بده خیلی ممنون میشم ازتون اگه راهنمایی کنید.دوباره با تشکر از لطفتون 

با سلام مجدد.

تاریخ شمسی که مشخصه و از تابع پیش فرض استفاده میکنید.
اما برای گرفتن تاریخ میلادی میتونید از این کد استفاده کنید :

<?php echo gregdate("j M Y", eng_number(get_the_time('c', $post->ID)));; ?>

دقت کنید که gregdate تابع متعلق با افزونه پارسی دیت هست و برای استفاده از این کد، باید پارسی دیت رو نصب و فعال کرده باشید.

2

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


لینک به پست

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

واقعا ممنون از start عزیز که وقت گذاشتین و جواب دادین.این کد رو امتحان کردم و جواب داد.ولی وقتی پارسی دیت رو فعال میکنم کلا استایل فایل rtl.css بهم میریزن.من با جلالی کار میکردم.اگه افزونه جلالی یه همچین کدی داشته باشه که دادید دیگه مشکل به کل حل میشه فک کنم.

دوست عزیز من با این کد میتونم تاریخ شمسی رو بدست بیارم :

<?php echo jdate ('j F') ; ?>

وبا این کد هم تاریخ میلادی :

<?php echo date ('j F') ; ?>

ولی مشکلم اینجاست که این کدها تاریخ امروز رو برمیگردونن ولی من تاریخ پست هارو میخوام

<?php echo jdate('j f',$post->ID); ?>

یه چیزی تو همین مایه ها ولی جواب نمیده.

ممنون میشم اگه این راهنمایی نهایی رو هم بکنید.

ویرایش شده در توسط zohaye
0

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


لینک به پست

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

0

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


لینک به پست

تاریخ پست ها در حلقه با توابع the_time یا the_date در دسترس هستند.

1

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


لینک به پست

با سلام خدمت آقا مرتضی ممنون از اینکه وقت گذاشتید.

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

0

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


لینک به پست

الان متوجه منظورتون شدم. بسته به تابعی که استفاده می کنید مثلا:

gregdate( 'Y m d', get_the_time('Y m d') );

بیشتر:

 

1

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


لینک به پست

ممنون مرتضی خان تقریبا حل کردم مشکل رو.من قبلا ار جلالی استفاده میکردم ولی انگار باید برم سراغ parsidate.

باز ممنون که وقت گذاشتید.

با تشکر و موفق باشید

1

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


لینک به پست

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

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

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

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


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

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

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


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