لود نشدن rtl.css وردپرس زمانی برای ما پیش میاد که ما در سایت خودمون نیاز داریم تا از زبان راست به چپ یا به اصطلاح همون ویژگی RTL استفاده کنیم بنابراین با استفاده از زبان HTML و CSS برای اینکه بتونیم تا برای زبانهای راست چین مثل فارسی و عربی متن محتوای سایت رو هم راست چین کنیم لازمه تا با استفاده از فایل RTL.CSS این کار را انجام بدهیم.
این واژه که مخفف عبارت right to left هست این امکان را به ما خواهد داد تا با تعریف کلاسهای قالب وبسایتمون در داخل این فایل برای سایتهایی که از زبانهای راست چین استفاده میکنند چینش تمامی بخشهای را از راست به چپ مرتب کنیم بر خلاف اینکه در زبان انگلیسی این چینش ltr یا همون left to right خواهد بود.
کار انتخاب و لود اینکه آیا در قالب وردپرسی که استفاده میکنید راست به چپ هست و یا چپ به راست توسط نسخه وردپرسی که استفاده میکنید به صورت خودکار تعیین خواهد شد، یعنی اگر شما از وردپرس فارسی استفاده کرده باشید و اونو نصب کرده باشید اگر قالب شما راست چین شده باشه و دارای فایل rtl.css باشید سایت شما راست چین خواهد بود و به همین صورت اگر هم نسخه وردپرس شما انگلیسی باشد چه فایل rtl.css در قالب شما وجود داشته باشه و چه وجود نداشته باشه امکان استفاده از نسخه راست چین را نخواهید داشت و قالب شما به صورت چپ چین مرتب خواهد شد.
که در این آموزش قصد دارم تا نحوه رفع این مشکل را برطرف کنیم، چرا که برای بسیاری از سایتها پیش میاد که قصد دارند تا از وردپرس لاتین در بخش پیشخوان وردپرس استفاده کنند اما بخش کاربری سایت همچنان راست چین باقی مونده باشد.
آموزش رفع خطای لود نشدن rtl.css وردپرس در زبان انگلیسی
برای رفع این مشکل کافیه تا با استفاده از فایل فانکشن(functions.php) اقدام کرده و با یک هک ساده که در زیر براتون آماده کردم کاری کنید که اگر نسخه پیشخوان وردپرس شما انگلیسی هم بود همچنان فایل rtl.css لود شده و محیط کاربری سایت به صورت راست چین شده برای اعضا نمایش داده شود.
برای این منظور ابتدا وارد هاست خود شده و سپس با کلیک روی گزینه File Manager به محیط مدیریت فایل در هاست خودتون مراجعه کنید تا به مسیری که فایل functions.php در اونجا قرار داره برسید.
بعد از اینکه محیط مدیریت فایل هاست برای شما باز شد به مسیر /public_html/wp-content/themes/ مراجعه کنید، خواهید دید که در این پوشه چند پوشه دیگه قرار داره که هر کدوم از این پوشهها مربوط به قالبی هست که روی سایت خودتون نصب و فعال کردهاید، حالا در این مرحله باید وارد پوشه ای که بر روی سایت فعال هست و در حال حاضر کاربران قادر به مشاهده سایت بر اساس این قالب هستند مراجعه کنید و داخل اون به دنبال فایلی با نام functions.php بگردید. بعد از اینکه فایل مورد نظر را پیدا کردید:
- اگر از هاست سی پنل استفاده میکنید روی فایل راست کلیک کرده و گزینه Edit را برای ویرایش فایل انتخاب کنید.
- اگر از هاست دایرکت ادمین استفاده میکنید روی گزینه Edit که در مقابل نام فایل قرار دارد کلیک کنید تا به صفحه ویرایش فایل هدایت شوید.
حالا که صفحه ویرایش فایل functions.php براتون باز شد کدهای زیر را به انتهای صفحه اضافه کنید، دقت کنید که این کدها میبایست قبل از <? قرار گرفته باشند.
function iptrtl_add_stylesheet() { $template_dir_uri = get_template_directory_uri(); $template_dir = get_template_directory(); //$stylesheet_dir = get_stylesheet_directory(); if ( file_exists("$template_dir/rtl.css") ) { wp_register_style( 'parent-theme-rtl', "$template_dir_uri/rtl.css" ); wp_enqueue_style( 'parent-theme-rtl' ); } } add_action('wp_print_styles', 'iptrtl_add_stylesheet');
همونطور که در این قطعه کد مشاهده میکید با استفاده از فایل فانکشن وردپرس دستوری را اضافه کردیم که اگر فایل RTL.css برای قالب فعلی که روی سایت فعال است و از نسخه لاتین وردپرس در پیشخوان وردپرس استفاده میشه در هر صورت فایل rtl.css برای کاربران لود شده و سایت با نسخه راست چین و فارسی شده برای کاربران در دسترس قرار گرفته باشد. در نهایت با ذخیره این کد در فایل فانکشن این دستور ثبت شده و از این پس چه شما از نسخه وردپرس فارسی و چه انگلیسی استفاده کنید فاگر فایل rtl.css در قالب شما وجود داشته باشه لود شده و سایت به صورت راست چین شده نمایش داده خواهد شد.