من یک سایت دارم که انگلیسی و ترجمه فارس هم داره. افزونه جلالی نصب کردم ولی همه تاریخها شماره ها رو فارسی میکنه. شماره ها رو میتونم لاتین نگه دارم ولی تاریخ همه چیو بهم میریزه. آیا میشه هم شمسی و هم میلادی با هم نشون داده بشه؟
من یک سایت دارم که انگلیسی و ترجمه فارس هم داره. افزونه جلالی نصب کردم ولی همه تاریخها شماره ها رو فارسی میکنه. شماره ها رو میتونم لاتین نگه دارم ولی تاریخ همه چیو بهم میریزه. آیا میشه هم شمسی و هم میلادی با هم نشون داده بشه؟
تو تنظیمات افزونهی جلالی تبدیل خودکار تاریخ نوشتهها و نظرات به تاریخ خورشیدی(شمسی) و نمایش ارقام فارسی رو غیرفعال کنید و از تابع جلالی برای نمایش تاریخ استفاده کنید
تابع تاریخ شمسی:
<?php echo jdate(); ?>
خیلی ممنون برای راهنمایی. این تابع رو به کدوم صفحها باید اضافه کنم. آیا ممکن که ارفامش رو فارسی کرد با اضافه کردن یه تابع دیگه؟
آقا این کمک خیلی بزرگی بود. من به index.php که این کد داشت
<span class="date"><?php the_time(__('F jS, Y', 'inove'))?></span>
کدی که شما داده بودید اضافه کردم و کار کرد. خیلی عالی شد.
<span class="date"><?php the_time(__('F jS, Y', 'inove'))?></span><span class="date"><?php echo jdate('F j, Y'); ?></span>
فقط حالا باید بگردم و به ببنم که به چه صفحه های دیگه باید این کد اضافه کنم. اگه بشه یه جوری شمارهاش فارسی بشه دیگه حرف نداره.
آقا شرمنده من فکر میکردم که تابع داره درست کار میکنه ولی تاریخی که نشون میده تاریخ روزی که نوشته پست شده نیست. تاریخ دیروز رو نشون میده. تو قسمت بایگانیم تاریخ امروز رو نشون میده.
تابع درست کار میکنه، ساعت و تاریخ افزونهی وردپرس فارسی شما درست تنظیم نشده
همه نوشته ها دارن یک تاریخ رو نشون مدن. مثلا دیروز تاریخ همه نوشته ها ۲۹ مهر بود. امروز همه نوشته ها ۳۰ مهر رو نشون میدن. وقتی ساعتش درست کردم تاریخ دیروز دیگه نشون نمده ولی همیشه تاریخ امروز نشون میده. در صورتی که باید تاریخ روزی که نوشته شده رو نشون بده.
شما تابع رو داخل حلقهی while قرار دادید یا نه ؟
این کدی که من روی صفحه index.php دارم.
<?php if (have_posts()) : while (have_posts()) : the_post(); update_post_caches($posts); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<span class="vote"><?php DisplayVotes(get_the_ID()); ?></span>
<h2><a class="title" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<div class="info">
<span class="date"><?php if ($_GET ['lang'] == 'fa'):?><?php echo jdate('F j Y'); ?><?php else:?><?php the_time(__('F jS, Y', 'inove')) ?><?php endif;?></span>
<?php if ($options['author']) : ?><span class="author"><?php the_author_posts_link(); ?></span><?php endif; ?>
<?php edit_post_link(__('Edit', 'inove'), '<span class="editpost">', '</span>'); ?>
<span class="comments"><?php comments_popup_link(__('No comments', 'inove'), __('1 comment', 'inove'), __('% comments', 'inove'), '', __('Comments off', 'inove')); ?></span>
<div class="fixed"></div>
</div>
<div class="content">
<?php the_excerpt(__('Read more...', 'inove')); ?>
<div class="fixed"></div>
</div>
<div class="under">
<?php if ($options['categories']) : ?><span class="categories"><?php _e('Categories: ', 'inove'); ?></span><span><?php the_category(', '); ?></span><?php endif; ?>
<?php if ($options['tags']) : ?><span class="tags"><?php _e('Tags: ', 'inove'); ?></span><span><?php the_tags('', ', ', ''); ?></span><?php endif; ?>
</div>
</div>
<?php endwhile; else : ?>
<div class="errorbox">
<?php _e('Sorry, no posts matched your criteria.', 'inove'); ?>
</div>
<?php endif; ?>
خوب این مشکل بر میگرده به wpml
شما بدون این افزونه امتحان کنید مشکلی نخواهید داشت، اما راه حلی برای این مشکل با wpml ندارم
پیشنهادم اینه که قالب فارسی و انگلیسی رو از هم جدا کنید
افزونه wpml رو نمیتونم خاموش کنم برای اینکه بعدا زبانهای دیگه هم اضافه میشن. میشه کاری کرد که تابع the_time() تو خود index.php تبدیل بشه؟ برای اینکه تابع the_time روز میلادیه درست رو داره نشون میده و اگه بدونم از چه معادله ایی برای تبدیل روز استفاده میشه میتونم اون معادله رو همون جا توی صفحه استفاده کنم.
دوست عزیز٬ این دستور تاریخ جاری رو نشون میده:
<?php echo jdate('F j Y'); ?>
وقتی شما این دستور رو توی حلقه استفاده میکنین واضحه که برای همهی نوشتهها٬ یه تاریخ رو نشون میده.
Gonahkar گفت:
دوست عزیز٬ این دستور تاریخ جاری رو نشون میده:
<?php echo jdate('F j Y'); ?>
وقتی شما این دستور رو توی حلقه استفاده میکنین واضحه که برای همهی نوشتهها٬ یه تاریخ رو نشون میده.
خوب راه حل ؟ راه حلی داره؟
گناهکار دستت درد نکنه بنظر میاد درست شده ولی نمیدون چرا هر دو فقط زمان رو نشون میدن.
چه
mps_the_jdate('F j Y') or mps_the_time('F j Y') l
هر دو این به من میدن
۲:۲۶ ق.ظ
ولی این ساعتش نه روزش
آقا بالاخره درست شد. دست هر دو شما درد نکنه. جریان این ۱۰۰ چیه که بدون اون ساعت نشون میده؟
یه شرط هست که ما توی افزونه استفاده میکنیم.
این خیلی خوب شد. حالا میدونم که چطور تاریخ و ساعت رو صدا بزنم و هم میدونم که چه جوری تاریخ روز رو هم روی کارنما نمایش بدم.