حل مشکل لود نشدن فایل rtl.css در نگارش انگلیسی وردپرس

همان‌طور که می‌دانید دایرکشن ltr مخفف left-to-right و مختص برگه‌های چپ چین وب و مناسب برای زبان انگلیسی و دایرکشن rtl مخفف right-to-left مختص برگه‌های راست چین و مناسب برای زبان فارسی هست که در سیستم مدیریت محتوای وردپرس این عمل بصورت خودکار برای زبان‌هایی همانند زبان فارسی که راست چین هستند بصورت خودکار انجام می‌گیرد به این معنا که زمانی که شما وردپرس فارسی را نصب نموده‌اید فایل rtl.css قالب وردپرس بصورت خودکار فراخوان و در سورس قالب لود می‌شود اما اگر وردپرس شما نسخه انگلیسی یا همان ltr  باشد فایل rtl قالب وردپرس فراخوان و بارگذاری نخواهد شد.

در این نوشته از وبلاگ ماندگار وب هکی را برای آن دسته از دوستان که وردپرس آنها نسخه انگلیسی می‌باشد و در استفاده از پوسته‌های آر تی ال دار مشکل دارند آماده کرده‌ایم که به راحتی می‌توانند با اضافه کردن این هک وردپرس به فانکشن قالب خود فایل rtl.css را فراخوان کنند.

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

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 در نسخه انگلیسی وردپرس مورد پسند شما دوستان عزیز قرار گرفته باشد.


کانال تلگرام ماندگار وب

  1. رضا

    سلام ممنون از سایت آموزندتون
    ببخشید چطوری می تونم به یک سایت لینک غیر مستقیم (nofollow)بدم
    ممنون میشم پاسخگو باشین.

    1. امیر خلجی مهر

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

      [html]
      ماندگار وب
      [/html]

      موفق باشید

  2. شایان

    آقا این همه خوب ننویسین لطفا” 🙂
    تمام مطالب سایتتون خوشمزه و شیرینه دمتون گرم

    1. امیر خلجی مهر

      🙂 ممنون شایان جان ، نظر لطفتون هست {گل}

    1. امیر خلجی مهر

      آخ فرید دلم برات تنگه شدید {گل} 🙂

  3. aref

    حل مشکل باز نشدن سایت هایی با دامنه.IR
    جدیدا شاید به پستتون خورده باشه که وقتی دامنه رو در سی پنل سایت خودتون پارک کنید این کار انجام میشه ولی سایت شما بازنمیشه فقط بافیلتر شکن باز میشه ببااینکه دامنه رو جدیدا ثبت کرده باشید ولی در ضمن این مشکل از هر10کاربرفقط 2کاربر این مشکل رودارن به هرحال آموزش مختصرومفید روآموزش بدم به اینصورت هست ….
    در ویندوز ۷ -8-VISTA:
    ۱ – بر روی کانکش اینترنت خود کلیک راست کنید و Properties را کلیک کنید .
    ۲ – Internet Protocol Version 4 را پیدا کرده و کلیک کنید ، سپس روی Properties کلیک کنید .
    ۳ – روی use the following کلیک کنید .
    ۴ – در قسمت Preferred DNS server ای پی ۸٫۸٫۸٫۸ و در قسمت Alternate DNS server ای پی ۸٫۸٫۴٫۴ را وارد کنید و در نهایت OK را بزنید .
    موفق باشین

    1. امیر خلجی مهر

      ممنون عارف جان
      پیشنهاد میدم تو انجمن هم بذارید تا دوستان بیشتری استفاده کنند .
      موفق باشید

  4. قیاسی

    سلام امیر خان

    من نتونستم تغییر بدم

    فانکشن قالب

    چه فایلی هست یه مقدار توضیح میدید

    1. امیر خلجی مهر

      سلام کلا” بهتره نسخه انگلیسی رو حذف و نسخه فارسی رو نصب کنید اینطور خیلی راحت تر هستید
      فانکشن یه رابط هست بین پوسته و هسته ی وردپرس که شما توسط فایل functions.php پوسته میتونید روی هسته وردپرس تاثیر بزارید
      همه ی پوسته ها این فایل رو دارند و اگه پوسته ای داشتین که این فایل رو نداره مشکلی نداره میتونید اون رو تو شاخه اصلی پوسته ایجاد کنید با نام functions.php
      الان شما باید این کدها رو تو فایل فانکشن بزارید تا به هسته وردپرستون دستور بده فایل rtl.css رو بارگذاری کنه
      این فایل چون فقط برای زبان های راست چین مثله فارسی هست تو وردپرس انگلیسی به هیچ وجه لود نمیشه که برای رفع مشکل کد بالا رو در اختیارتون قرار دادیم
      موفق باشید

  5. قیاسی

    نمیشه وگرنه انجام میدادم یعنی از 2 آموزش بهره گرفتم نتونستم دیتا بیس تعریف کنم

    البت شاید مبتدی بودن من توی هاست هست

    من کد فاکشن php

    دارم و آخرش کد php

    این متن کد رو آوردم نشد

    یعنی کل کد فاکشن پاک بشه این کد رو جایگزین کنم

    و سپس زیپ و آپلود کنم؟؟؟؟

    1. امیر خلجی مهر

      اصن با دیتابیس ما کاری نداریم!
      درسته کمی براتون سخت هست من همون اول گفتم ساده ترین و راحت ترین راه برای شما اینه که نسخه فارسی وردپرس رو نصب کنید

  6. قیاسی

    نمیتونم یعنی دانشش رو ندارم اما کد نویسی جاوا و پی اچ پی و css بلدم

    من 2 تا اموزش خوندم نتونستم

    http://wp-persian.com/codex/%D9%86%D8%B5%D8%A8-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3/#%D9%86%D8%B5%D8%A8%20%D8%A8%D8%A7%20%D8%AC%D8%B2%DB%8C%DB%8C%D8%A7%D8%AA

    این

    http://www.wordpress98.com/wordpress/%D8%AC%D9%84%D8%B3%D9%87-%D8%AF%D9%88%D9%85-%D9%85%D8%AF%D8%B1%D8%B3%D9%87-%D9%86%D8%B5%D8%A8-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D9%87%D8%A7%D8%B3%D8%AA/

    این کد شما برای من راحتر هست فقط بگید به چه صورت این کد اضافه بشه به فاکشن

    1. امیر خلجی مهر

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

  7. علیرضا

    سلام. خیلی ممنون از آموزش های مفیدتون. من چند روز پیش یه قالب از Theme Forest خریدم این فایلی که شما میگی میون استایل هاش وجود نداره. عوضش برای هر مرورگر یه استایل قرار دادن که وقتی این کد رو:
    direction:rtl;
    توی استایل اصلی قسمت بادی مینویسم برای فایر فاکس و بقیه درست نشون میده الا اینترنت اکسپلورر.
    شما نظرتون چیه؟! اگر فایل rtl رو کپی کنم درست میشه؟

    1. امیر خلجی مهر

      سلام
      این آموزش که کلا” برای نسخه های انگلیسی وردپرس هست و بی ربط با مشکل شماست
      اون استایل هایی که برای هر مرورگر گذاشته شدن بصورت شرطی هستند که برای نمایش صحیح قالب هر کدوم از مرورگرها استایل خودشون رو میخونند
      بهترین راه اینه که مستقیم از فایل های اصلی پوسته رو فارسی کنید که اگه سررشته ای ندارید انجامش رو به دست کس دیگه ای بسپارید
      موفق باشید

  8. علیرضا

    یک سوال اگر برای فارسی سازی قالب از فایل rtl استفاده نکنیم و تغییرات در در style انجام دهیم.مشکلی دارد؟برای ارسال پوسته.

    1. امیر خلجی مهر

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

  9. مهدی

    سلام
    من یک قالب نال شده ی پریمیوم دارم که فایل RTL داره
    از طریق زمپ روی لوکال هاست رایانه ام، بسیار تمیز نمایش داده می شه.
    اما به محض فعال سازی روی وب سایت که وردپرس فارسی داره، قالب مدیریتش بهم می ریزه!
    مثلا کنترل پنل تای Tie pannel به کلی به هم می ریزه
    از وردپرس انگلیسی استفاده کردم تا کنترل پنل تای انعطاف پذیری ثابقش رو حفظ کنه،اما دیگر از rtl استفاده نمی کنه.
    هک فوق الذکر رو در فانکشنش قرار دادم،قالب راست چین شد اما بازهم از فایل های ترجمه mo و bo استفاده نمی کنه
    چی کار باید کرد؟
    باتشکر

    1. امیر خلجی مهر

      خب باید وردپرس رو از طریق فایل کانفیگ فارسی کرد یعنی فایل های زبان فارسی رو بخونه
      موفق باشید

  10. مهدی

    چون سایتم علمی آموزشی یه، دارم متقاعد می شم که انگلیسی بنویسم تا از اینهمه دردسر راست چینی و ترجمه و غیر ذالک خلاص شم!
    ای بابا

    1. امیر خلجی مهر

      🙂
      این کد دقیقا” مثل هلو میمونه و اگه پوستتون rtl داشته باشه دیگه نیازی به نگرانی و پیش اومدن ناراحتی نیست
      موفق باشید

  11. سید علی

    سلام داش

    سرکاری نباشه 😀

    من قالبم خیلی خیلی حرفه ای هستش و برای وردپرسه

    این جواب میده ؟

    حوصله ندارم RTL کنم خودم . خیلی حجیمه و بیشتر بخش هاش باید RTL بشه

    1. امیر خلجی مهر

      عزیزم اینجا که قهوه خونه نیست قربونت برم

      یعنی چی که سرکاری نباشه مگه قراره ما اینجا کسی رو سرکار بزاریم؟
      اگه موضوع و نتیجه عملکرد این نوشته رو درست متوجه شده باشید ، بله درست کار میکنه دقیقا” مثله ساعت

      موفق باشید {گل}

    2. Black_Sky

      البته در تكميل حرف هاي اميرجان
      شما اگر خيلي ميترسيد بهتره با يه قالبي كه در حد شما نيست تست كنيد ونتيجه ببينيد و براي بچه محل هاتون تعريف كنيد 😀

  12. زرشک

    اینطور که معلومه عقده چیزی رو دارید ؟

    جناب Black sky

    جناب امیر خلیجی با این فامیلی خنده دارتون !

    درست کاربر اشتباه کرده ..

    اما چرا اینطوری جوابشو میدید ؟ کاسه کوزه رو سر کی خراب میکنید ؟

    خب حالا یک انتقاد از سیستم به ظاهر حرفه ایتون کرد ! به صورت غیر مستقیم

    چرا جنبه شو ندارید ؟

    1. امیر خلجی مهر

      اینجور که نوشتید عیان هست چه کسی عقده تو دل داره و دقیقا” معلوم نیست به چند جای خودش داره فشار وارد میکنه برای خالی کردن عقده های درونیش
      فامیلی بنده خلجی مهر هست مثله اینکه فشار وارده بیشتر از حد انتظار بوده و بینایی شما رو دچار اختلال کرده

      این آقا اصلا” اشتباه نکرده طرز صحیح صحبت کردن رو بلد نبود و من هم تذکر دادم اینجا قهوه خونه ی سرکوچه نیست
      شما هم زیاد احساساتی و جوگیر نشو و بهتره برای حل مشکلات درونی خودت به یه پزشک خوب مراجعه کنید
      موفق باشید

  13. سهیل

    با سلام ممنون از سایت خوبتون.
    بنده یک میشکل برعکس دارم.اینکه در قسمت fa تم مشکلی نیست و به خوبی rtl انجام میشه.ولی وقتی میبرم رو نسخه لاتین باز کدهای rtl اجرا میشن.در حالیکه language , direction عوض میشن ولی باز تو نسخه لاتین کدهای rtl.css اجرا میشن والویت دارن.ممنون میشم راهنمایی کنید.

    با تشکر

    1. امیر خلجی مهر

      درود سهیل جان
      همچین چیزی ممکن نیست، مگر دایرکشن بصورت دستی در بادی آمده باشد و یا اینکه فایل rtl بصورت دستی در هد قرار داده شده باشد

  14. سهیل

    با سلام مجدد.
    مشکلم حل شد.مشکل از اونجایی بود که من نباید فراخوانی مستقیم میکردم rtl رو و یه جایی خوندم که پیشفرض خودش در حالت راستچین rtl.css رو اگر باشه پیدا و لود میکنه.که با پاک کردن فراخوانی مستقمیم مشکل برطرف شد و خودش اتوماتیک در حالت rtl فقط rtl.css رو فراخوانی میکنه و کاری به rtl.css در حالت ltr نداره. تمـــــــام

    1. امیر خلجی مهر

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

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

تنها دیدگاه‌هایی که به فارسی نوشته می‌شوند پذیرفته خواهند شد!

ماندگار وب - 1395
فروش - خرید هاست وردپرس فارسی