پرش به محتوا
مرجع

سلسله‌مراتب قالبِ پوستهٔ بلوکیِ WordPress

سلسله‌مراتب کاملِ قالب‌های پوستهٔ بلوکی (FSE): برای هر نوع درخواست، فهرستِ مرتب‌شدهٔ قالب‌هایی که WordPress دنبالشان می‌گردد، از خاص‌ترین شروع می‌شود و در نهایت به index.html می‌رسد. معادلِ نمودارِ سلسله‌مراتبِ کلاسیک در دوران بلوک.

برای هر درخواست، WordPress این قالب‌ها را به ترتیب — از خاص‌ترین به عام‌ترین — جست‌وجو می‌کند و در نخستین موردی که در پوشهٔ /templates پوستهٔ شما وجود داشته باشد متوقف می‌شود. این زنجیره همیشه به index.html ختم می‌شود.

صفحه اصلی

صفحه اصلی سایت، چه روی آخرین نوشته‌های شما تنظیم شده باشد و چه روی یک برگه ثابت.

  1. front-page.html
  2. home.html
  3. index.html

front-page.html صرف‌نظر از انتخاب شما در تنظیمات ← خواندن، اولویت دارد. اگر صفحه اصلی یک برگه ثابت باشد و front-page.html وجود نداشته باشد، به‌جای home.html به زنجیره برگه ثابت می‌افتد.

فهرست نوشته‌های وبلاگ

برگه‌ای که آخرین نوشته‌های شما را فهرست می‌کند («برگه نوشته‌ها» در تنظیمات ← خواندن).

  1. home.html
  2. index.html

تک‌نوشته

یک نوشته منفرد وبلاگ.

  1. single-post-{slug}.html
  2. single-post.html
  3. single.html
  4. singular.html
  5. index.html

نمایش تکی نوع نوشته سفارشی

یک ورودی منفرد از یک نوع نوشته سفارشی (برای مثال یک «کتاب»).

  1. single-{post-type}-{slug}.html
  2. single-{post-type}.html
  3. single.html
  4. singular.html
  5. index.html

برای نوع نوشته «book» با نامک «dune»: ابتدا single-book-dune.html، سپس single-book.html و در نهایت single.html.

برگه ثابت

یک برگه معمولی WordPress.

  1. page-{slug}.html
  2. page-{id}.html
  3. page.html
  4. singular.html
  5. index.html

برگه با قالب سفارشی

برگه‌ای که در پنل قالب ویرایشگر، یک قالب سفارشی به آن اختصاص داده شده است.

  1. {custom-template}.html
  2. page-{slug}.html
  3. page-{id}.html
  4. page.html
  5. singular.html
  6. index.html

قالب‌های سفارشی در آرایه customTemplates درون theme.json تعریف می‌شوند و در /templates قرار دارند. قالب اختصاص‌داده‌شده بر کل زنجیره برگه اولویت دارد.

بایگانی دسته

بایگانی‌ای که نوشته‌های یک دسته را فهرست می‌کند.

  1. category-{slug}.html
  2. category-{id}.html
  3. category.html
  4. archive.html
  5. index.html

بایگانی برچسب

بایگانی‌ای که نوشته‌های دارای یک برچسب را فهرست می‌کند.

  1. tag-{slug}.html
  2. tag-{id}.html
  3. tag.html
  4. archive.html
  5. index.html

بایگانی طبقه‌بندی سفارشی

بایگانی مربوط به یک ترم در یک طبقه‌بندی سفارشی.

  1. taxonomy-{taxonomy}-{term}.html
  2. taxonomy-{taxonomy}.html
  3. taxonomy.html
  4. archive.html
  5. index.html

بایگانی نویسنده

بایگانی نوشته‌های یک نویسنده.

  1. author-{nicename}.html
  2. author-{id}.html
  3. author.html
  4. archive.html
  5. index.html

بایگانی تاریخ

بایگانی سال / ماه / روز.

  1. date.html
  2. archive.html
  3. index.html

بایگانی نوع نوشته

فهرست بایگانی برای یک نوع نوشته سفارشی که has_archive روی آن تنظیم شده است.

  1. archive-{post-type}.html
  2. archive.html
  3. index.html

نتایج جستجو

برگه نتایج جستجوی سایت.

  1. search.html
  2. index.html

404 (یافت نشد)

زمانی نمایش داده می‌شود که هیچ محتوایی با URL مطابقت نداشته باشد.

  1. 404.html
  2. index.html

برگه پیوست

برگه مربوط به یک پیوست رسانه‌ای منفرد.

  1. attachment.html
  2. single.html
  3. singular.html
  4. index.html

بسیاری از سایت‌ها برگه‌های پیوست را به‌طور کامل غیرفعال می‌کنند (محتوای کم‌ارزشی هستند). اگر آن‌ها را نگه دارید، زنجیره به این شکل است.

برگه سیاست حریم خصوصی

برگه‌ای که در تنظیمات به‌عنوان سیاست حریم خصوصی سایت تعیین شده است.

  1. page-privacy-policy.html
  2. privacy-policy.html
  3. page.html
  4. singular.html
  5. index.html

تفاوت این با سلسله‌مراتب کلاسیک (PHP)

  • قالب‌ها فایل‌های .html در /templates هستند، نه فایل‌های .php در ریشه پوسته. هیچ single.php وجود ندارد — این single.html است.
  • نواحی قابل استفاده مجدد (سربرگ، پابرگ) قطعات قالب در /parts هستند که با بلاک wp:template-part ارجاع داده می‌شوند، نه با فراخوانی‌های PHP مانند get_header() / get_footer().
  • هیچ زنجیره get_template_part() و هیچ get_header()/get_footer() وجود ندارد. ترکیب‌بندی با بلاک Template Part درون فایل‌های .html انجام می‌شود.
  • index.html الزامی است. یک block theme بدون templates/index.html یک block theme معتبر نیست — این جایگزین نهایی اجباری برای هر مسیری است که در بالا آمد.
  • یک پوسته با حضورِ templates/index.html به‌همراه یک theme.json به‌عنوان block theme شناخته می‌شود، نه با هیچ پرچمی در سرآیند فایل.
  • می‌توانید هر یک از این قالب‌ها را در ویرایشگر سایت (نمایش ← ویرایشگر) ویرایش کنید و تغییرات را در پایگاه داده ذخیره کنید — که سپس تا زمانی که سفارشی‌سازی را پاک نکنید، فایل‌های پوسته را بازنویسی (override) می‌کنند. این موضوع افرادی را که در حال اشکال‌زدایی «چرا تغییر قالب من هیچ اثری ندارد» هستند غافلگیر می‌کند.