روش صحیح افزودن فایل های css و js به قالب وردپرس
یکی از مشکلات اساسی توسعه دهندگان تازه کار و همچنین برخی مدیران سایت ها، افزودن فایل های css و js به قالب وردپرس با روش درست است.
در این مقاله از آموزش وردپرس به شما عزیزان روش صحیح افزودن فایل های css و js به قالب وردپرس را نشان خواهیم داد.
اضافه کردن فایل های css و js به قالب وردپرس
وقتی در حال طراحی قالب وردپرس برای سیستم مدیریت محتوای وردپرس هستید و یا اینکه میخواهید یک قالب HTML را به یک قالب وردپرسی تبدیل کنید، شاید برایتان این سوال پیش بیاید که شیوه ی صحیح اضافه کردن استایل ها و فایل های جاوااسکریپت به قالب وردپرس دقیقا به چه صورت است و از چه طریقی باید این کار را انجام دهید.
اجازه بدهید یک بار هم با هم مرور کنیم که به طور معمول به چه شکل یک فایل استایل یا یک فایل جاوا اسکریپت را به یک قالب ساده و استاندارد HTML اضافه میکنیم. برای قرار دادن یک فایل استایل در صفحه ی مربوطه از کد زیر استفاده میکنیم:
<link href="style.css" rel="stylesheet" type="text/css">
و وقتی میخواهیم یک فایل جاوااسکریپت را به قالب مورد نظر اضافه کنیم از کدی مشابه کد زیر بهره میگیریم:
<script src="js/jquery.simple_slider.js" type="text/javascript"></script>
این روش یک روش استاندارد است و مادامی که پای قالب های وردپرس در میان نباشد، استفاده از آن بر اساس استاندارد ها هیچ ایرادی ندارد. ولی وقتی پای وردپرس به میان می آید، برای اضافه کردن فایل های استایل و جاوااسکریپت استانداردهایی وضع شده که بهتر است آنها را رعایت کنید.
این مسئله به این مفهوم نیست که اگر در طراحی سایت وردپرس هم برای اضافه کردن فایل های مربوطه از روش فوق استفاده کنید، قالب شما کار نخواهد کرد بلکه به این مفهوم است که این روش در طراحی قالب های وردپرس استاندارد نیست و ممکن است بعدا در استفاده از برخی ویژگی های وردپرس مثل استفاده از child theme ها و … شما را دچار مشکل کند.
بنابراین در این شرایط توصیه میشود که حتما از شیوه ی استانداردی که برای این کار در نظر گرفته شده استفاده کنید.
پیوست صحیح فایل های استایل و جاوااسکریپت در وردپرس
در وردپرس برای پیوست استایل ها و جاوااسکریپت دو تابع با نام های wp_enqueue_style و wp_enqueue_script در اختیار ما قرار گرفته که کارشان پبوست صحیح فایلهای مربوطه در قالب و همچنین تعیین ورژن، نوبت افزوده شدن و … آنها در قالب است.
اگر در رابطه با نحوه ی استفاده از این دو تابع سری به راهنمای توسعه دهندگان وردپرس بزنید، ممکن است در ابتدا از دیدن توضیحات و نحوه ی استفاده این دو تابع کمی گیج شوید ولی واقعیت این است که استفاده از این دو تابع بسیار آسان بوده و اصلا شما را دچار دردسر نخواهد کرد.
تابع wp_enqueue_style وردپرس
اجازه بدهید ابتدا نگاهی به توضیحات عمومی این تابع داشته باشیم:
$handle نام استایل را مشخص میکند و لازم است که حتما منحصر به فرد باشد $src محل قرار گیری استایل را مشخص میکند. این مسیر میتواند کامل بوده یا بر اساس روت محل نصب وردپرس آدرس دهی شود $deps مشخص میکند که فایل استایل فعلی به کدام استایل ها وابسته است $ver ورژن فایل استایل را مشخص میکند. $media نوع مدیایی که این استایل بر روی آن تاثیر دارد را تعیین میکند. بنابراین میتوانید از مقادیری مثل : all, print, screen, max-width:640 و موارد مشابه استفاده کنید. پر کردن هیچ یک از موارد فوق بجز نام استایل الزامی نیست
پس اگر بخواهیم در حالتی ساده و در عین حال قابل درک، یک فایل استایل مثل style.css را که در فولدر اصلی قالب قرار گرفته، در قالب فراخوانی کنیم به شکل زیر عمل میکنیم:
wp_enqueue_style( 'mainstyle', get_template_directory_url().'/style.css', array(), '1.0' );
در کد بالا اولین مقدار استفاده شده mainstyle است که نام استایل ماست. (و میتواند هر چیز منحصر به فرد و معتبر دیگری باشد. الزامی نیست که شما نام استایل خود را mainstyle بگذارید)
در ادامه برای مقدار بعدی از get_template_directory_uri().’/style.css’ استفاده کرده ایم که فایل style.css را از فولدر اصلی قالبمان قراخوانی میکند. طبعا اگر فایل استایل در زیر فولدر دیگری در فولدر قالب قرار گرفته بود و یا نام دیگری داشت، به سادگی با اضافه کردن مسیر فولدر و نام استایل بجای عبارت /style.css میتوانستیم کد را به دلخواه خود تغییر داده و به نتیجه ی دلخواه دست پیدا کنیم.
سپس با استفاده از array() اعلام کرده ایم که این فایل، به فایل دیگری وابستگی ندارد.
در آخر هم ورژن فایل را مشخص کرده ایم.
تابع wp_enqueue_script وردپرس
در رابطه با ورودی های این تابع در سایت رسمی وردپرس (کم و بیش) توضیحات زیر ارائه شده:
$handle نام اسکریپت را مشخص میکند و باید کاملا منحصر به فرد باشد $src مسیر اسکریپت را مشخص میکند. این مسیر میتواند کامل بوده یا به صورت نسبی بر اساس محل نصب وردپرس وارد شود $deps نشان میدهد که این اسکریپت به چچه اسکریپت های دیگری وابستگی دارد. مقدار باید به صورت آرایه ارائه شود $ver ورژن فایل جاوااسکریپت را مشخص میکند $in_footer تعیین میکند که آیا این اسکریپت باید در تگ سربرگ قرار بگیرد و یا در فوتر قالب. به صورت پیشفرض محل قرار گیری یک اسکریپت در سربرگ است. مجددا تمامی مقادیر فوق بجز نام اسکریپت اختیاری هستند.
با توضیحات فوق و توضیحاتی که برای تابع wp_enqueue_style به شما ارائه کردیم، حتما حالا میتوانید کارکرد کد زیر را که برای فراخوانی یک فایل جاوااسکریپت به کار رفته، به خوبی درک کنید:
wp_enqueue_script('jsname', get_template_directory_uri().'/scripts.js', array(), '1.3.2', false );
اما سوالاتی که مطرح است این است که کد ها را در کجا قرار دهیم؟ آیا استفاده از کد های فوق کافی است؟
این کد ها را میتوانید در فایل functions.php قالب وردپرس خود قرار دهید. در جواب سوال دوم؛ نه استفاده از کدهای فوق کافی نیست.
کد هایی که برای افزودن استایل و اسکریپت به قالبتان اضافه میکنید را باید درون یک تابع قرار داده و سپس با استفاده از تابع add_action به وردپرس اعلام کنید که میخواهید تابع مورد نظر در چه زمانی اجرا شود. به مثال زیر توجه کنید:
<?php function mechanicwp_scripts() { wp_enqueue_style( 'stylename', get_template_directory_uri().'/style.css', array(), '1.0' ); wp_enqueue_script('jsname', get_template_directory_uri().'/scripts.js', array(), '1.3.2', false ); } add_action( 'wp_enqueue_scripts', 'mechanicwp_scripts' ); ?>
شاید این مسئله خیلی واضح باشد که شما در اینجا میتوانید برای اضافه شدن هر استایل یا اسکریپت به قالب شرطی تعیین کنید. مثلا شاید برای قالبتان پنل مدیریت طراحی کرده باشید. در چنین حالتی میتوانید بر اساس انتخاب کاربر و بر اساس رنگی که توسط وی در پنل مدیریت تنظیم شده، استایل ویژه ای را به قالب اضافه کنید. یا مثلا اگر از بوت استرپ در قالب استفاده کرده اید، میتوانید چک کنید که اگر وضعیت نمایش قالب به حالت rtl است، نسخه ی rtl استایل های بوت استرپ شما در قالب بارگذاری شود و …
فایل rtl.css
این فایل، گونه ای کاملا بی آزار از فایل های CSS است که لازم نیست کاری با آن داشته باشید! اما جداً، از شوخی که بگذریم، وقتی قالبی را فارسی سازی میکنید و برای آن استایل rtl جداگانه ای را در فایل rtl.css قرار میدهید، لازم نیست که این استایل را به روش های ذکر شده در بالا به قالب اضافه کنید.
چرا که وردپرس بر اساس جهت زبان انتخابی، خودش به صورت اتوماتیک در صورت نیاز فایل rtl.css را صدا کرده و به قالب اضافه میکند. پس نگران این فایل نباشید.
فایل های جی کوئری
وقتی در قالبی به جی کوئری نیاز داریم و میخواهیم محل فراخوانی جی کوئری را نیز تحت کنترل داشته باشیم تا اطمینان حاصل کنیم که تمامی اسکریپت هایی که به جی کوئری نیاز دارند، پس از بارگذاری جی کوئری، لود خواهند شد، جی کوئری را به شکل زیر در قالبمان فراخوانی میکنیم:
wp_enqueue_script('jquery');
همانطور که مشاهده میکنید فقط به نام جی کوئری اشاره کرده ایم. چرا که وردپرس خودش این فایل را در اختیار دارد و میداند که آن را از کجا بارگذاری کند. در اینجا باید خیلی حواستان باشد که به طور اتفاقی نسخه ای از جی کوئری را به صورت جداگانه بارگذاری نکنید و تنها به استفاده از کد بالا اکتفا کنید. در غیر این صورت با لود کردن چند نسخه از جی کوئری، در قالب شما تداخل ایجاد خواهد شد و شما قادر به استفاده ی صحیح ای جی کوئری نخواهید بود.
حالا اگر بخواهیم تعدادی اسکریپت که به جی کوئری وابسته هستند را حتما پس از بارگذاری کامل جی کوئری، لود کنیم میتوانیم به شکل زیر عمل کنیم:
wp_enqueue_script('jquery'); wp_enqueue_script('script1', get_template_directory_uri().'/script1.js', array('jquery'), false, false ); wp_enqueue_script('script2', get_template_directory_uri().'/script2.js', array('jquery'), false, false ); wp_enqueue_script('script3', get_template_directory_uri().'/script3.js', array('jquery'), false, false );
همانطور که مشاهده میکنید با درج عبارت array(‘jauery’) مشخص کرده ایم که اسکریپت های ما به اسکریپتی که نامش jquery است وابستگی دارند.
بنابراین در اینجا وردپرس اطمینان حاصل میکند که ابتدا اسکریپت اصلی و سپس اسکریپت های وابسته را بارگذاری نماید.
همچنین همانطور که میبینید در اینجا ورژنی برای اسکریپت هایمان تعیین نکرده ایم و بجای ورژن عبارت false را قرار داده ایم، این کار باعث میشود که وردپرس به صورت اتوماتیک، ورژن فعلی خودش را به انتهای آدرس اسکریپت های مربوطه اضافه کند.
پیشنهاد: همچنین میتوانید آموزش ویرایش زنده کدهای Style.css در وردپرس با افزونه Visual CSS Style Editor را مطالعه کنید.
امیدوارم نکات ذکر شده در این مقاله از آموزش وردپرس، برای شما عزیزان کاربردی و مفید باشد…
موفق و پاینده باشید…
- نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد
- نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد
- نظراتی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد
Visitor Rating: 5 Stars
Visitor Rating: 5 Stars
Visitor Rating: 5 Stars
Visitor Rating: 5 Stars