کدهای وردپرس

حل مشکل تاریخ شمسی وردپرس در اسکیما

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

قبلا در مورد شمسی کردن تاریخ های وردپرس با افزونه های wp Persian و parsidate صحبت کرده بودم، اما هر افزونه ای مشکلات خودش را دارد و به دلیل بروز برخی مشکلات در این افزونه ها تصمیم گرفتیم از افزونه wp jalali برای شمسی سازی سایت خود استفاده کنیم.

با اینکه این افزونه مدت هاست آپدیت نشده است، اما هنوز هم در نسخه های جدید به صورت پیش فرض همراه با بسته نصبی وردپرس فارسی ارائه می شود.

اما باز هم با استفاده از wp jalali مشکل تاریخ شمسی وردپرس در اسکیما به جای خود باقی خواهد ماند. این مشکل به این معنی است که به دلیل فارسی کردن تاریخ ها و عددها،  متادیتا‌هایی که باید به گوگل بصورت w3c time نمایش داده شوند، به صورت فارسی نمایش داده شده که این موضوع سبب نامفهومی تاریخ های سایتتان توسط گوگل خواهد شد و اصلا برای سئوی شما مناسب نیست.

در این آموزش از وردپرس نارنجی پس از نصب افزونه wp jalali، اغدام به حل مشکل تاریخ شمسی وردپرس در اسکیما خواهم کرد.

حل مشکل تاریخ شمسی وردپرس در اسکیما

برای حل این مشکل و جلوگیری از ضرر به سئوی وب سایت خودتان، ابتدا افزونه های شمسی ساز دیگری که پیش از این استفاده می کردید را غیرفعال کرده و افزونه wp jalali را با کلیک روی دکمه زیر از مخزن وردپرس دانلود کرده و سپس به کمک آموزش نحوه نصب افزونه ها در وردپرس نصب و فعال نمایید.

این مطلب را از دست ندهید :
آموزش تغییر نام پوشه wp-content در وردپرس

دانلود افزونه wp jalali

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

تنظیمات افزونه wp jalali
تنظیمات وردپرس جلالی

اما دقت کنید که در این تنظیمات حتما برای حل مشکل تاریخ شمسی وردپرس در اسکیما، گزینه تاریخ تمامی بخش‌های وردپرس از میلادی به شمسی تبدیل شود. را غیرفعال کنید.

شاید از خودتان بپرسید که با غیرفعال کردن این گزینه عملا افزونه wp jalali کاربردی برای ما نخواهد داشت، اما با این کار مشکل تاریخ شمسی وردپرس در اسکیما حل خواهد شد و کافی است تا با استفاده از کدهایی که در ادامه معرفی می کنم، تاریخ نمایش داده شده را نیز به شمسی تبدیل کنید.

برای نمایش تاریخ شمسی بدون ایجاد مشکل تاریخ شمسی وردپرس در اسکیما، می توانیم از تابع jdate افزونه وردپرس جلالی استفاده کنیم.

برای این منظور ابتدا از وب سایت خود یک فایل پشتیبان تهیه کرده و سپس به هاست خود بروید. در هاستتان و در مسیر نصب وردپرس به آدرس wp-content/themes رفته و در پوشه قالب نصبی فایل functions.php را ویرایش کرده و قطعه کد زیر را در جای مناسبی از آن وارد کنید.

// jalali date by wpnarenji

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;

   }

}

اکنون برای حل مشکل تاریخ شمسی وردپرس در اسکیما و نمایش تاریخ های پست ها به صورت شمسی در نوشته ها، فایل sinsle.php در همین مسیر را ویرایش کرده و قطعه کد زیر را در به جای عبارت get_post_time قرار دهید.

<?php get_jdate_publish_time();?>

می توانید از این قطعه کد در هر جای سایتتان که نیاز دارید تاریخ به صورت شمسی نمایش داده شود، استفاده کنید.

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

اکنون با اینکه مشکل تاریخ شمسی وردپرس در اسکیما حل شده است و تاریخ نوشته ها نیز به صورت شمسی نمایش داده می شود، اما باز هم تاریخ آپدیت پست ها به صورت میلادی خواهد بود.

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

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;
}
}

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

البته محل قرار گیری این توابع بسته به قالب نصبی شما متفاوت خواهد بود. به همین راحتی با قطعه کدهای معرفی شده می توانید علاوه بر حل مشکل تاریخ شمسی وردپرس در اسکیما، تمام تاریخ های خود را شمسی کنید.

عاطفه نوربخش

عاطفه نوربخش هستم؛ هم بنیانگذار " وردپرس نارنجی " که حاصل تجربه های خودم در حوزه تخصصی وردپرس را برایتان می نویسم و تلاش میکنم به شما کمک کنم تا با سیستم مدیریت محتوای وردپرس، سایت وردپرسی ای زیبا و حرفه ای داشته باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۶ دیدگاه

  1. سلام
    من این مشکل رو در اسکیما دارم
    در اون قسمت که گفتید کد رو به جای اون get_post_time قرار بدید، من در فایل single.php اصلا همچین چیزی (get_post_time) ندارم و باید چکار کنم ؟

      1. سلام بله در فایل loop-single.php بود ولی به صورت get_time که تغییر دادم درست شد، خیلی ممنونم ازتون

  2. ممنونم مشکل سایت من رو حل کرد.من هر سه پلاگین فارسی ساز تاریخ رو نصب کردم و باز هم مشکلم حل نشد.با این کدها و افزونه wp jalali ارور اسکیما حل شد.

دوره آموزش وردپرس در اصفهانثبت نام رایگان (کد تخفیف : WpNarenji)
+