در دومین بخش از فصل های کتاب راهنما طراحی قالب وردپرس، با template files در وردپرس آشنا خواهیم شد و درک می کنیم که چگونه یک قالب وردپرس بر اساس آن کار می کند.
در این بخش با آناتومی قالب وردپرس آشنا می شوید و فرا می گیرید که چگونه قالب وردپرس به بخش های مختلف شکسته می شود و در نهایت مانند قطعات پازل به همدیگر متصل می گردد تا صفحه سایت شما ساخته شود. در واقع شما در این بخش با آجرهای ساخت قالب خود یا همان building block های قالب وردپرس که همان template files ها هستند، آشنا خواهید شد.
template files در وردپرس بسیار در قالب های وردپرس مورد استفاده قرار می گیرند اما در ابتدا اجازه بدهید که درباره واژه یا همان terminology کلمه template و اینکه کجاها به کار می رود، صحبت کنیم.
فهرست :
واژه شناسی کلمه template یا Template Terminology
کلمه template وقتی در قالب های وردپرس کار می کنید، به چندین معنی مختلف مورد استفاده قرار می گیرد:
- این واژه در template files در وردپرس، مورد استفاده قرار می گیرد و به فایل های موجود در قالب وردپرس اشاره می کند. Template files در وردپرس بیان می کنند که سایت شما به چه صورت به نمایش در بیاید. نمونه هایی از این فایل ها در بخش های بعدی این مقاله تشریح شده است.
- این واژه در template page نیز مورد استفاده قرار می گیرد. Template page ها در واقع فایل هایی هستند که شما می توانید فقط آن ها را در page ها یا صفحات خود در وردپرس استفاده کنید. این فایل ها باعث می شوند تا ظاهر صفحه شما و شکل و شمایل و استایل آن، تغییر کند.
- Template page ها می توانند بر روی یک single page یا بخشی از یک صفحه (یا همان page section ) و یا کلاسی از صفحه ها بکار گرفته شوند.
- مورد دیگر استفاده واژه template در template tags می باشد. Template tag ها، توابع داخلی یا همان توابع built-in وردپرس می باشند که شما می توانید از آن ها، در داخل template file های خود برای دریافت و نمایش اطلاعات مورد نظر خود، استفاده کنید. توابعی مثل the_title یا the_content در واقع نمونه هایی از template tags می باشند.
- آخرین مورد استفاده واژه template در template hierarchy می باشد. ساختار سلسله مراتبی قالب وردپرس یا همان template hierarchy ، منطق و قوانینی می باشد که وردپرس بر اساس آن تصمیم گیری می کند که از کدام template file ها برای نمایش صفحه شما به کاربر سایت تان، استفاده کند.
در واقع هسته وردپرس با استفاده از template hierarchy تصمیم می گیرد که بسته به محتوای درخواست شده، از کدام template files در وردپرس برای پاسخگویی به کاربر سایت استفاده کند.
Template Files در وردپرس
قالب های وردپرس از Template file ها درست شده اند. Template Files در وردپرس، همان فایل های PHP هستند که شامل مخلوطی از کدهای HTML و Template Tags ها و کدهای PHP می باشند.
زمانی که شما قالب خود را می سازید، در واقع از template files ها برای اثر گذاشتن بر نحوه صفحه بندی سایت خود (یا همان layout سایت) و طراحی قسمت های مختلف وب سایت خود استفاده می کنید.
به عنوان مثال شما از Template file ای با نام header.php استفاده می کنید تا بخش header در کدهای صفحه سایت خود را بسازید یا از فایل template ای با نام comment.php استفاده می کنید که شامل بخش نمایش نظرات در صفحات سایت شما می باشد.
زمانی که یک نفر از یک صفحه از سایت شما بازدید می کند، هسته وردپرس بسته به درخواستی که بازدید کننده دارد، template (یا template های) مورد نظری را، برای نمایش آن صفحه بارگذاری می کند. نوع محتوایی که به توسط template files در وردپرس به نمایش در می آید، با توجه به Post Type مربوط به آن template file تعیین می گردد. در واقع هسته وردپرس تصمیم می گیرد که نوع محتوای درخواستی توسط کاربر به چه Post type ای متعلق بوده و بر طبق آن، template file های مربوط به آن Post Type را برای نمایش به کاربر، آماده می کند.
ساختاری که هسته وردپرس تشخیص می دهد که چگونه Template File مورد نظر را برای درخواست رسیده شده، بارگذاری نماید، در وردپرس با نام Template Hierarchy شناخته می شود.
ساختار درختی و سلسه مراتبی Template Hierarchy برای وردپرس مشخص می کند که کدام template files در وردپرس بسته به نوع درخواست، باید برای ساخت صفحه مورد استفاده قرار بگیرد. با کمک این ساختار درختی، وردپرس می تواند تصمیم بگیرد که چه template file در قالب وردپرس موجود باشد و چه نباشد، صفحه درخواست شده را به کاربر نهایی ارسال کند.
پس از تشخیص وردپرس بر اساس Template Hierarchy و اینکه که چه template file ای باید مورد استفاده قرار بگیرد، template file مورد نظر را که شامل کدهای مورد نظر است، در اختیار وب سرور قرار داده و وب سرور نیز، این کدهای PHP در قالب را parse کرده و آن ها را تبدیل به کد HTML می نماید و آن ها را به سمت مرورگر کاربر می فرستد.
اگرچه برای اجرای یک قالب وردپرس شما می توانید حتی فقط یک template file یعنی فقط index.php را در قالب خود داشته باشید، اما به طور معمول، قالب های وردپرس شامل تعداد زیادی از template files ها می باشند که جهت نمایش ها صفحات مختلف و همین طور انواع محتواها و فهرست ها، مورد استفاده قرار می گیرند.
Template Partials چیست؟
Template Partials یا همان بخش های جزئی از قالب، بخش های از قالب هستند که از خود آن ها می توان در ساخت یک صفحه استفاده نمود. آن ها می توانند بخش هایی از یک Template file یا چندین Template file باشند.
بهترین مثال برای درک Template Partial هدر یک سایت می باشد. بخش هدر، در بسیاری از Template file ها مورد استفاده قرار گرفته و بسیاری از صفحات با کمک آن ساخته می شوند. بنابراین فایل هدر سایت، یک Template Partials برای قالب شما می باشد.
Template Partials ها می توانند در بخش های مختلف یک قالب وردپرس جا داده بشوند. استفاده از این کار یعنی بخش بندی اجزا ساخت یک صفحه برای تولید آن، باعث ساده سازی ساخت قالب شما خواهد شد. از عمومی ترین Template Partials ها که در همه قالب ها از آن ها استفاده می شود، می توان به مواردی مثل زیر اشاره کرد:
- فایل header.php که برای ساختن هدر سایت مورد استفاده قرار می گیرد
- فایل footer.php که برای ساخت فوتر در سایت مورد استفاده قرار می گیرد
- فایل sidebar.php که برای ساخت سایدبار در سایت مورد استفاده قرار می گیرد
مثال های بالا، مثال های خاصی هستند که جزو Template Files های خود وردپرس هم می باشند و شما می توانید برای ساخت یک بخش از صفحه خود، آن ها را بکار ببندید. شما می توانید به هر تعدادی که می خواهید، فایل های Template Partials داشته باشید و از آن ها در سایر Template Files ها استفاده کنید.
Template Files های عمومی در وردپرس
هر قالب وردپرس می تواند دارای یک سری Template File های پایه باشد که همه آن ها توسط هسته وردپرس قابل شناسایی هستند. این فایل ها عبارتند از:
- فایل index.php : اصلی ترین فایل قالب وردپرس می باشد. وجود این فایل برای اجرای قالب ضروری (یا required) می باشد.
- فایل style.css : فایل اصلی استایل دهی به قالب وردپرس می باشد. وجود این فایل نیز برای اجرای قالب ضروری می باشد. این فایل شامل اطلاعات مربوط به قالب شما یا همان information header نیز می باشد که بدون این اطلاعات، قالب شما در بخش پوسته ها به نمایش درنخواهد آمد.
- فایل rtl.css : اگر در نصب وردپرس خود، از زبان های راست به چپ استفاده کنید، هسته وردپرس از این فایل به صورت خودکار برای نمایش استایل های سایت شما استفاده خواهد کرد. این یکی از بهترین قابلیت های سوئیچ کردن، بین استایل های قالب سایت چند زبانه (هم شامل زبان های left-to-right و هم right-to-left ) می باشد.