is_rtl از مفیدترین و مهمترین توابع وردپرس
چنانچه از کاربران سیستم مدیریت محتوی وردپرس هستید حتما با فایل rtl.css آشنایی مختصری دارید، استفاده از فایل آر تی ال در هسته وردپرس، پوستههای وردپرس و افزونههای وردپرس به عنوان یکی از اصلیترین استاندارهای وردپرس شناخته شده است چرا که استفاده از این حالت نمایش چپ و یا راست چین بودن برگهها را با توجه به زبان سیستم مدیریت محتوای وردپرس به راحتی مشخص میسازد و ارایهی پوستهها، افزونهها و هستهی وردپرس را بدون آنکه نیاز باشد برای زبانهای راست چین (rtl) نسخهی متفاوتی ارایه گردد را فراهم میسازد.
فایل rtl.css در وردپرس به عنوان یک فایل جدا و مستقل شناخته میشود که در موارد مورد نیاز این فایل پس از استایل اصلی بارگذاری میگردد که این امر موجب خنثی کردن مقادیری که در استایل اصلی آمدهاند میگردد و در نهایت مقادیر تازه توسط مرورگر جایگزین مقادیر کهنه خواهند شد به این معنا که مقادیری که در فایل rtl.css آمدهاند نسبت به مقادیری که در فایل style.css آمدهاند از اولویت بیشتر برخوردار هستند.
مهمترین موضوعی که در این نوشته میتوان به آن اشاره کرد و از آن به عنوان نقطهی ضعفِ استفاده از فایل rtl.css یاد کرد، بارگذاری این فایل بصورت جداگانه میباشد که این مهم از نظر علم سئو و بهینه سازی وردپرس نیز به عنوان یک اصل مورد تایید نبوده و برای استفاده کاربران پیشنهاد نمیشود چرا که بارگذاری فایل آرتی ال بصورت جداگانه به منزلهی ارسال درخواست برای دریافت این فایل توسط مرورگر به سمت سرور میباشد که این امر موجب ایجاد تاخیر در بارگذاری صفحات وب و در سایتهای پربازدید به دلیل درخواستهای مکرر باعث فشار بر روی سرور میگردد.
در این نوشته از وبلاگ هاستینگ ماندگار وب با تابعی مفید و کارآمد با نام is_rtl آشنا خواهیم شد، این تابع نیز همانند سایر توابع خانواده خود مانند is_home , is_category و… حالت چک کننده را دارد بصورتی که با استفاده از تابع is_rtl در پوسته و یا افزونههای خود دیگر نیازی به فایل rtl.css ندارید و این فایل بصورت جداگانه بارگذاری نخواهد شد و در نتیجه تاثیر منفی بر روی سئو و بهینه سازی سایت شما نخواهد گذاشت و تنها یک استایل به عنوان استایل اصلی و بر اساس زبان وردپرس شما در حالت چپ چین (ltr) و یا حالت راست چین (rtl) بارگذاری خواهد شد.
برای استفاده از تابع is_rtl در افزونهها و پوستههای وردپرس نیاز است استایل خود را در دو حالت راست چین و چپ چین بصورت کلی و جداگانه از هم آماده نماییم، برای نمونه دو فایل با نامهای style.css و style-rtl.css ایجاد میکنیم که در فایل style.css تمام مقادیر مربوط به حالت چپ چین و در فایل style-rtl.css تمام مقادیر مربوط به حالت راست چین را قرار میدهیم.
پس از گذراندن مراحل فوق، حال نیاز است که با استفاده از دستور زیر تابع is_rtl را از طریق فایل فانکشن به قالب وردپرس خود اضافه کنیم (خواهشمندیم پیش از ایجاد هر تغییری در این فایل از آن نسخه پشتیبان تهیه نمایید تا در صورت بروز خطا براحتی آن را به حالت اول بازگردانید):
if ( is_rtl() ) {
wp_enqueue_style('style-rtl', get_template_directory_uri() . '/css/style-rtl.css');
} else {
wp_enqueue_style('style-ltr', get_template_directory_uri() . '/css/style.css');
}
پس از ذخیره کردن تغییرات در سایتهایی که وردپرس آنها نسخه انگلیسی میباشد فایل چپ چین و در سایتهایی که وردپرس آنها نسخه پارسی میباشد فایل راست چین بصورت خودکار بارگذاری خواهد شد لازم به ذکر است در دستور بالا فایلهای استایل در پوشه css قرار گرفتهاند که شما این مسیر را میتوانید با توجه به مسیربندی پوسته وردپرس خود تغییر دهید.
امیدوار هستیم این آموزش وردپرس مورد توجه و پسند دوستان عزیز قرار گرفته باشد.
دیدگاهها در "is_rtl از مفیدترین و مهمترین توابع وردپرس"
دیدگاه خود را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.
بسیار عالی
ممنون امیر جان مفید بود.
خواهش میکنم رضا جان
داداش امیر خسته نباشی
مثل همیشه عالی
مخلصم علیرضا جان
شما لطف دارید قربونتون برم
مثل همیشه عالی و مفید بود
ممنون مهدی جان
سلام امیر جان خوبی برادر ؟
ممنونم بخاطر مطالب دست یکت و از همه مهمتر در همه لول آموزش دادنت مخصوصا”is_rtl از-مفیدترین-و-مهمترین-توابع-وردپرس”.
سوالی برام پیش اومده:
میخوام ورد پرس و دیتابیس و همه افزونه ها و …. پاک کنم و مجدد نصب کنم. آیا ماژولی داریم که از مطالب بک آپ بگیره به همراه تصاویر و درون ایمپورت کنه؟
یا درون ریز و برون ریز وردپرس این توانایی را داره؟
و اینکه اسم سایت من http://www.site.com/post/... هست توی انتقال چه مواردی را رعایت کنم بروکن لینک چکر یکیشه دیگه چی میمونه؟
درود رضا جان، سپاسگزارم دوست من
خب چه دلیلی وجود داره؟ برای اینکه تصمیم دارین همه چیز رو پاک کنید. خودتون میگید همه چیز رو میخواین پاک کنید پس مشخصه که اگه از وردپرستون بکاپ هم بگیرید باز همه چیز بازنشانی میشه
نه برون ریز و درون ریز تنها برای زمانی هست که سایت و محتویات اون آپ باشه، برای مثال من یه فایل برون ریز از ماندگار به شما میدم، اگه ماندگار آنلاین نباشه شما هیچوقت نمیتونید از اون فایل استفاده کنید
برای جابجایی هم مشکل خاصی وجود نداره، تنها کافیه محتویات وردپرس رو به یک پوشه عقبتر ببرید و از تنظیمات وردپرس یا جدول آپشن دیتابیس وردپرس، آدرس تازه رو جایگزین کنید
موفق باشید
سلام امیر جان. تمامی مراحل رو طبق آموزش پیش رفتم اما نمیدونم چرا فایل style-rtl.css برای من فراخوانی نمیشه!
مسیر فایل CSS قالبم در پوشه اصلی ست. کدی هم که فرمودید رو طبق مسیر مورد نظر فایل CSS، به فایل فانکشن قالب اضافه کردم. اما فایل style-rtl.css فراخوانی نمیشه!
از آخرین نسخه وردپرس فارسی استفاده می کنم. ممنون میشم در رفع این مشکل یاریم کنید. متشکرم.
درود
مستندات رو بررسی کنید
https://codex.wordpress.org/Function_Reference/is_rtl
برای چه موردی قرار هست استفاده کنید؟
ممنونم. راستش از مستندات چیز زیادی دستگیرم نشد! ممنون میشم راجع به قسمت Usage لینکی که لطف کردین راهنمایی کوتاهی بفرمایین… همه مراحل رو طبق آموزش پیش رفتم. اما فایل style-rtl فراخوانی برام نمیشه!
فداتون بشم من چه بدونم مورد استفادهی شما چی هست، با توجه به مستندات این تابع چک میکنه اگه زبان سایت آرتیال یا همون راست چین باشه، پرونده یا دستور خاصی که نوشتید رو اجرا میکنه
تو نمونه زیر ما یه استایل داریم که بصورت پیشفرض بارگذاری میشه و اگه مشخص (is_rtl) بشه که زبان سایت راست چین هست استایل مربوطه بارگذاری میشه
اگه پرسش یا مشکلی بود در انجمن مطرح کنید تا دوستان راهنمایی کنند.
[php]
function mandegarweb_style()
{
wp_enqueue_style(
‘theme-name-default’,
get_template_directory_uri() . ‘/css/default.css’
);
if ( is_rtl() )
{
wp_enqueue_style(
‘theme-name-rtl’,
get_template_directory_uri() . ‘/css/rtl.css’,
array ( ‘theme-name-default’ )
);
}
}
add_action( ‘wp_enqueue_scripts’, ‘mandegarweb_style’ );
[/php]
بسیار ممنون و سپاس از لطف و پاسخگویی تون. هر چند مشکلم حل نشد و کد شما تاثیری در فراخونی فایل “style-rtl” در وردپرس نداشت اما طبق گفته شما پرسشم رو در انجمن مطرح می کنم. شاد باشید.
نمیدونم شما چطور استفاده میکنید که نه دستور توی نوشته و نه این نمونه براتون عملکردی نداره
پیروز باشید دوست من