با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره جامع آموزش ساخت قالب وردپرس در خدمت شما هستیم.
در این جلسه قصد داریم به معرفی سلسله مراتب فایل های قالب (Template Files) وردپرس خواهیم پرداخت.
همانطور که در جلسات قبل اشاره کردیم، فایل های قالب ماژولار و قابل استفاده مجدد هستند و برای نمایش صفحات سایت شما استفاده میشوند.
بعضی از فایل های قالب مانند هدر و فوتر در تمامی صفحات سایت قرار دارند در حالی که بقیه فایل ها فقط در بعضی از صفحات با شرایط تعیین شده قرار دارند.
در این جلسه یاد خواهید گرفت که چگونه وردپرس تشخیص میدهد که چه فایل های قالبی روی کدام صفحات سایت استفاده شوند.
اگر میخواهید قالب را شخصی سازی کنید، این کار به شما کمک میکند تا بدانید باید کدام فایل های قالب را ویرایش کنید.
وردپرس از query_string برای تصمیم در مورد اینکه کدام فایل یا فایل های قالب باید برای نمایش صفحه استفاده شوند، استفاده میکند.
query_string اطلاعاتی هست که در لینک هر بخش وب سایت موجود است.
query_string در url بعد از علامت سوال (?) میآید و ممکن است شامل تعدادی پارامتر باشد که با & از یکدیگر جدا میشوند.
به سادگی، وردپرس تا پیدا کردن یک فایل قالب منطبق، از طریق سلسله مراتب فایل های قالب به جستجو ادامه میدهد.
برای مشخص کردن اینکه کدام فایل قالب باید استفاده شود، وردپرس کار های زیر را انجام میدهد:
به استثناء فایل index.php، شما میتوانید تعیین کنید که کدام فایل قالب را میخواهید اجرا کنید.
اگر وردپرس نتواند فایل قالب را با نام مشخص شده تطبیق دهد، سراغ فایل بعدی در سلسله مراتب میرود. اگر هیچ فایلی تطبیق داده نشد، از فایل index.php استفاده میشود.
فرض کنید بلاگ شما در http://example.com/blog قرار دارد و بازدید کننده روی لینک یک صفحه دسته بندی مانند http://example.com/blog/category/your-cat کلیک میکند. وردپرس به دنبال یک فایل قالب در دایرکتوری جاری قالب میگردد که با ID دسته بندی (Category) مطابقت کند تا بتواند صفحه درست را تولید کند.
به طور دقیق تر وردپرس مراحل زیر را انجام میدهد:
نمودار زیر مشخص میکند تا کدام فایل های قالب برای تولید یک صفحه وردپرسی براساس سلسله مراتب قالب، باید فراخوانی شود.
همچنین میتوانید سایت wphierarchy.com را مشاهده کنید.
در ادامه نحوه فراخوانی فایل های قالب پیشفرض توسط وردپرس را توضیح میدهیم. (بر اساس نمودار بالا)
در هر مرحله، اگر فایل مورد نظر پیدا نشد، سراغ مرحله بعدی میرویم.
به صورت پیشفرض وردپرس از home page برای نمایش آخرین پست های بلاگ استفاده میکند.
اگر home.php وجود نداشته باشد، وردپرس از index.php استفاده میکند.
اگر front-page.php وجود داشته باشد، از home.php اولویت بالاتری دارد و آن نمایش داده میشود.
front page برای نمایش ایندکس پست های بلاگ یا یک صفحه ایستا استفاده میشود.
front-page.php در برابر home.php اولویت دارد. اگر frant-page.php وجود نداشته باشد، وردپرس از فایل home.php یا page.php (بسته به تنظیمات) استفاده میکند. و طبق معمول اگر هیچ کدام از فایل وجود نداشته باشند، فایل index.php استفاده میشود.
از این فایل قالب برای نمایش یک پست تنها استفاده میشود.
از طریق مراحل زیر برای نمایش دسته بندی صفحات ایندکس شده استفاده میکنیم:
وردپرس این امکان را به ما میدهد تا بتوانیم سلسله مراتب قالب را فیلتر و شخصی سازی کنیم.
بدین معنا که میتوایم فایل های قالب را در سلسله مراتب تغییر دهیم یا آن ها را حذف و اضافه کنیم.
فیلتر (که در تابع ()get_query_template قرار دارد) از نام فیلتر رو به رو استفاده میکند : type}_template$} که به جای type$ نوع قالب قرار میگیرد.
در ادامه لیستی از فیلتر ها را نمایش میدهیم:
برای مثال سلسله مراتب author را درنظر بگیرید:
برای اضافه کردن author-{role}.php به قبل از author.php، از کد زیر استفاده میکنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function author_role_template( $templates = '' ) { $author = get_queried_object(); $role = $author->roles[0]; if ( ! is_array( $templates ) && ! empty( $templates ) ) { $templates = locate_template( array( "author-$role.php", $templates ), false ); } elseif ( empty( $templates ) ) { $templates = locate_template( "author-$role.php", false ); } else { $new_template = locate_template( array( "author-$role.php" ) ); if ( ! empty( $new_template ) ) { array_unshift( $templates, $new_template ); } } return $tem |
جلسه آموزش سلسله مراتب فایل های قالب نیز به پایان رسید.
در جلسه بعد به آموزش Template Tag ها خواخیم پرداخت.