معماری قالب وردپرس | template hierarchy
خوب در این مقاله قصد داریم تا معماری وردپرس | wordpress hierarchy را با هم بررسی کنیم . این معماری نحوه فراخوانی فایل های پوسته شما به ازای درخواست های متفاوت را نشان می دهد و شما با دانستن این موارد می تونید برای هر پست یا دسته بندی فایل مجزایی بسازید.
شمای کلی از معماری وردپرس | wordpress hierarchy
خوب در زمان تم نویسی شما یه سری از فایل ها رو نظیر page.php , 404.php , single.php , arvhive.php , … می سازید تا محتواهای مختلف رو برای شما نمایش بدن . حال این فراخوانی از قانون خاصی پیروی می کنه که بهش می گیم شمای کلی از معماری وردپرس یا wordpress hierarchy
نکته : شما می توانید با استفاده از توابع شرطی وردپرس conditional tags متوجه بشید که در کدوم قالب هستید.
نکته : وردپرس با استفاده از query string ها تشخیص میده که باید به کدوم قالب بره . query string ها معمولا در لینک های ساده مشاهده میشن که گاها به وسیله ampersand (&) از هم جدا میشن.
نحوه تشخیص قالب جاری در وردپرس
- وردپرس query string و میگیره و اون رو نگاشت میده با query type تا بفهمه در کجا قرار داره.
- به اولین قالب match شده با توجه به معماری مطرح شده در بالا میره.
یافتن صفحه اصلی یا خانه (Home) در template-hierarchy
- در ابتدا به دنبال فایل front-page.php می گردد.
- بعد به دنبال فایل home.php یا page.php می گردد. دقت داشته باشید زمانی page.php لود می شود که شما از قسمت تنظیمات > خواندن برگه ابتدایی را انتخاب کرده باشید.
- در نهایت فایل index.php را باز می کند.
یافتن صفحه داخلی (single) در template-hierarchy
- single-{post-type}-{slug}.php
- single-{post-type}.php
- single.php
- singular.php
- index.php
یافتن صفحه داخلی برگه (page) در template-hierarchy
برگه ها پست هایی هستند با پست تایپ page . با این حال قالب مجزایی دارند برای نمایش و با قالب پست های معمولی و پست تایپ های شخصی استفاده نمی شوند.
- اگر برگه ای با قالب خاص ساخته باشید ، در ابتدا این برگه با قالب خاص (custom template file) باز می شود. اشاره به تابع get_page_templates
- به دنبال page-{slug}.php می گردد.
- به دنبال page{id}.php می گردد.
- به دنبال page.php می گردد.
- به دنبال single.php می گردد.
- به دنبال singular.php می گردد.
- در نهایت فایل index.php را باز می کند.
یافتن صفحه دسته بندی (category) در template-hierarchy
در این مورد اشاره شده به دسته بندی نوشته ها در وردپرس
- به دنبال category-{slug}.php می گردد.
- به دنبال category-{id}.php می گردد.
- به دنبال category.php می گردد.
- به دنبال archive.php می گردد.
- در نهایت فایل index.php را باز می کند.
یافتن صفحه برچسب ها (tags) در template-hierarchy
- به دنبال tag-{slug}.php می گردد.
- به دنبال tag-{id}.php می گردد.
- به دنبال tag.php می گردد.
- به دنبال archive.php می گردد.
- در نهایت فایل index.php را باز می کند.
یافتن تکسونومی ها (custom-taxonomies) در template-hierarchy
این مورد برمیگرده به taxonomy های شخصی که توسط نویسنده پوسته یا افزونه نوشته شده .
- به دنبال taxonomy-{taxonomy}-{term}.php می گردد.
- به دنبال taxonomy-{taxonomy}.php می گردد.
- به دنبال taxonomy.php می گردد.
- به دنبال archive.php می گردد.
- در نهایت فایل index.php را باز می کند.
یافتن پست تایپ ها (custom-post_type) در template-hierarchy
- به دنبال archive-{post_type}.php می گردد.
- به دنبال archive.php می گردد.
- در نهایت فایل index.php را باز می کند.
یافتن نویسنده (author) در template-hierarchy
- author-{nic-name}.php که nic-name همون لقب هست که در قسمت ویرایش کاربران وجود داره.
- به دنبال فایل author-{id}.php می گردد.
- به دنبال author.php می گردد.
- به دنبال archive.php می گردد.
- در نهایت فایل index.php را باز می کند.
فایل نمایش پست ها بر اساس تاریخ (date) در template-hierarchy
date page archive index page یا نمایش نوشته ها بر اساس تاریخ (مثلا آرشیو ماه بهمن)
- date.php
- archive.php
- index.php
فایل نمایش جستجو (search) در template-hierarchy
نمایش نتایج جستجوی وردپرس از قالب زیر استفاده می کند.
- search.php
- index.php
فایل نمایش 404 (404 not found) در template-hierarchy
- 404.php
- index.php
فایل نمایش رسانه ها (Attachments) در template-hierarchy
- به دنبال فایلی با قالب .php{mime-type} می گردد . به طور مثال برای mime type ویدیو یا همان فایلی با فرمت ویدیو به دنبال فایل video.php یا نمایش فایلی با فرمت عکس به دنبال image.php می گردد.برای نمایش فایل های متنی قالب زیر دنبال می شود.
text-plain.php
plain.php
text.php - attachment.php
- single-attachment-{sluge}.php
- single-attachment.php
- single.php
- singular.php
- index.php
نکته : از وردپرس ۴.۷ به بعد برای sluge هایی با کاراکترهای غیر Asci هم فایل برای نمایش می توان ساخت به طور مثال فایلی با slug غیر اسکی مثل page-hello-world-😀.php
دیدگاهتان را بنویسید