پوسته وردپرس مانند بخش های مختلف یک پازل صفحات سایتی را که شما با وردپرس ایجاد کردید را میسازد. برخی از پوسته ها ( برای مثال هدر، فوتر) در همه صفحات وب استفاده میشود در صورتی که برخی دیگر از بخش های پوسته در موارد خاص استفاده میشوند.

وردپرس از کدام پوسته، زمانی که نوع معینی از صفحه را نمایش میدهد، استفاده میکند؟

وردپرس بیش از یک راه برای مطابقت پوسته با نوع کوئری در وردپرس ایجاد کرده است. ممکن است برخی از تم های وردپرس تمام فایل پوسته هایی که در ادامه توضیح میدهیم را نداشته باشند.

[star_list]

  • سلسله مراتب فایل پوسته ها:

[/star_list]

ایده عمومی:

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

ابتدا وردپرس هر یک از رشته های کوئری را با نوع آن تطابق میدهد. بر این اساس مشخص میشود کدام نوع از صفحات ( صفحه جستجو، صفحه دسته ها، صفحه خانه و …) مورد نیاز است.

پوسته صفحه ای که انتخاب شده و متن صفحه وب بر اساس اولویت ترتیب فایل پوسته ها و بسته به آن که آن بخش موجود باشد، مرتب میشود.

وردپرس به دنبال فایل پوسته با نام خاص میگردد و اولین پوسته ای که تطابق داشته باشد را انتخاب میکند. این ترتیب به صورت زیر است:

به جز فایل پوسته index.php، توسعه دهندگان تم میتوانند انتخاب کنند که میخواهند از فایل های پوسته دیگر استفاده کنند یا خیر. در صورتی که وردپرس فایل پوسته مورد نظر را پیدا نکرد به بررسی نام فایل بعدی میپردازد که وجود دارد یا خیر در صورتی که هیچ یک از نام های فایل پوسته ها مورد نظر یافت نشد وردپرس از بخش index.php استفاده میکند.

مثال:

اگر بلاگ شما در آدرس http://example.com/blog قرار دارد و بازدیدکنندگان با کلیک کردن بر روی یک لینک به صفحه دسته ها با آدرس http://example.com/blog/category/your-cat/ رفتند: در این جاست که وردپرس از سلسله مراتب پوسته ها استفاده میکند تا یک فایل را در جای درست ایجاد کند

وردپرس به دنبال دایرکتوری تم میگردد که با ID دسته تطابق دارد.

اگر ID دسته 4 باشد، وردپرس فایل پوسته با نام category-4.php. ا جست جو میکند

اگر این بخش وجود نداشت وردپرس به دنبال بخش اصلی فایل پوسته ها با نام category.php. میگردد

اگر این بخش نیز وجود نداشت وردپرس به دنبال پوسته بایگانی میگردد archive.php

اگر این بخش هم مانند بخش های قبل وجود نداشت وردپرس به فایل پوسته اصلی بر میگردد. index.php

اگر بازدیدکنندگان به صفحه خانه با آدرس http://example.com/blog/ بروند موارد زیر رخ میدهند:

ابتدا وردپرس بررسی میکند که صفحه خانه به صورت یک برگه است یا خیر. اگر یک برگه بود وردپرس آن را بر اساس سلسله مراتب صفحات بررسی میکند

اگر صفحه خانه یک برگه نبود وردپرس به دنبال یک فابل پوسته به نام home.php میگردد و از ان بخش برای ایجاد صفحه استفاده میکند.

اگر home.php وجود نداشت، وردپرس به دنبال فایلی با نام index.php میگردد و از این پوسته برای ایجاد صفحه استفاده میکند.

[star_list]

  • جزئیات سلسله پوسته

[/star_list]

 

بخش زیر توضیح خواهد داد که هر فایل پوسته برای هر نوع کوئری توسط وردپرس فراخوان میشود.

نمایش صفحه خانه

فایل پوسته صفحه ای که استفاده میشود به صورت پست های بلاگی، صفحه اولیه یا یک صفحه ثابت ارائه میشود. صفحه اولیه اولویت بالاتری نسبت به صفحه های بلاگی دارد به عنوان صفحه اصلی خانه دارد.

صفحه خانه در home.php نمایش داده میشود در غیر این صورت در index.php نوشته میشوند.

فایل پوسته صفحه ای که استفاده میشود صورت پست های بلاگی، صفحه اولیه یا یک صفحه ثابت ارائه میشود. صفحه خاص اولویت بالاتری نسبت به صفحه های بلاگی دارد به عنوان صفحه اصلی خانه دارد.

front-page.php- مورد استفاده برای هر دو صفحه آخرین پست ها یا صفحه اولیه. برای تنظیم نمایش این صفحه: تنظیمات -> خواندن
قوانین نمایش صفحات(در ادامه توضیح داده شده است): هنگامی که یک صفحه اولیه باشد، برای تنظیم نمایش این صفحه: تنظیمات-> خواندن
قوانین نمایش صفحه خانه: هنگامی که به صورت پست باشد تنظیم صفحه نمایش اولیه به صورت: تنظیمات-> خواندن
نمایش هر پست

فایل پوسته مورد استفاده برای هر پستی که ارائه میشود

  • single-{post_type}.php :اگر نوع پست product بود، وردپرس به دنبال فایل single-product.php. میگردد
  • single.php
  • index.php

[yes_list]

  • نمایش صفحه

[/yes_list]

 

فایل پوسته برای هر صفحه ثابت که ارائه میشود

  • custom template file- پوسته صفحه ای که به صفحه تخصیص داده میشود. get_page_templates(). را مشاهده کنید
  • page-{slug}.php: اگر صفحه آخرین اخبار باشد، وردپرس از صفحه page-recent-news.php استفاده میکند
  • page-{id}.php: اگر ID صفحه 6 باشد، وردپرس از page-6.php استفاده میکند
  • page.php
  • index.php

[yes_list]

  • نمایش دسته ها:

[/yes_list]

 

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

  • category-{slug}.php: اگر slug دسته اخبار باشد، وردپرس category-news.php را جستجو میکند.
  • category-{id}.php اگر ID دسته 6 بود، وردپرس category-6.php را جست جو میکند
  • category.php
  • archive.php
  • index.php

[yes_list]

  • نمایش برچسب ها:

[/yes_list]

 

فایل پوستهی که برای ارائه بایگانی برچسب ها رائه میشود

  • tag-{slug}.php: اگر slug برچسب ها sometag باشد، وردپرس tag-sometag.php را جست جو میکند
  • tag-{id}.php: اگر ID برچسب 6 بود، وردپرس tag-6.php را جست و جو میکند.
  • tag.php
  • archive.php
  • index.php

[yes_list]

  • نمایش طبقه بندی شخصی سازی

[/yes_list]

 

  • taxonomy-{taxonomy}-{term}.php : اگر طبقه یندی sometax باشد و مدت طبقه بندی someterm باشد وردپرس taxonomy-sometax-someterm.php را جستجو میکند. در مورد فرمت پست ها، طبقه بندی به صورت ‘post_format’ و مدت ‘post-format-{format} است.
  • taxonomy-{taxonomy}.php : اگر طبقه بندی sometax بود، وردپرس taxonomy-sometax.php را جست جو خواهد کرد.
  • taxonomy.php
  • archive.php
  • index.php

[yes_list]

  • نمایش شخصی سازی انواع پست ها

[/yes_list]

 

  • archive-{post_type}.php: اگر نوع پست product باشد، وردپرس archive-product.php را جست جو میکند.
  • archive.php
  • index.php

[yes_list]

  • نمایش نویسنده

[/yes_list]

 

  • author-{nicename}.php: اگر نام نویسنده برای مثال rami باشد، وردپرس author-rami.php را جستجو کند.
  • author-{id}.php: اگر ID نویسنده 6 باشد، وردپرس author-6.php را جستجو میکند.
  • author.php
  • archive.php
  • index.php

[yes_list]

  • نمایش تاریخ

[/yes_list]

 

  • date.php
  • archive.php
  • index.php

[yes_list]

  • نمایش نتایج جستجو

[/yes_list]

 

  • search.php
  • index.php

[yes_list]

  • نمایش 404 ( مورد مورد نظر یافت نشد)

[/yes_list]

 

  • 404.php
  • index.php

[yes_list]

  • نمایش ضمیمه

[/yes_list]

 

  • MIME_type.php : میتواند هر نوع رسانه اینترنتی باشد(image.php, video.php, application.php) برای متن/ plain به ترتیب موارد زیر بررسی میشود:
  • text.php
  • plain.php
  • text_palin.php
  • attachment.php
  • single-attachment.php
  • single.php
  • index.php

[star_list]

  • سلسله مراتب فیلتر

[/star_list]

سیستم وردپرس امکان ایجاد کردن سلسله مراتب فیلتر را به کاربر میدهد. فیلتر در تابع get_query_template() قرار گرفته است از این نام استفاده میکند: “{$type}_template” جایی که متغیر type$ در این ترتیب نام یک فایل، بدون پسوند .php است

24 دیدگاه برای “معرفی فایل در پوسته وردپرس

  • بهاران
    - ۲۲ دی , ۱۳۹۲

    سلام
    مرسی از آموزش خوبتون. دانستن ترتیب جستجو ها میتواند سرعت کاربر ورد پرس را افزایش دهد.

  • sarbaz13
    - ۲۸ فروردین , ۱۳۹۳

    سلام
    الناز خانم کارت خیلی درست هست.اولین دختری هستی که می بینم برای خودش وب سایت آموزش وردپرس داره.
    این مطلبت خیلی جامع کامل و بی نقص بود من خوشم اومد.

    • الناز
      - ۲۸ فروردین , ۱۳۹۳

      سلام. ممنونم از لطف شما

  • مهرداد
    - ۳۱ اردیبهشت , ۱۳۹۳

    سلام.
    راستش یه سوال در وردپرس داشتم. گوگل رو به هم ریختم ولی نتونستم جوابی براش پیدا کنم تا اینکه سایت شما رو دیدم.
    از مطالب سایت پیداست که به وردپرس مسلط هستید. یه سوال فنی داشتم، ممنون می شم اگه بلد هستید بگید.

    فرض کنید ما چند پست داریم که این پست ها قراره به خیلی مهم، مهم و عادی تقسیم بشه. من چطوری می تونم:
    به پست ها خیلی مهم، مهم یا معمولی بدم؟؟
    (منظورم از خیلی مهم و مهم دسته بندی نیست. بلکه اولویت دادن به پست ارسالی هست، چون پست خودش در یک دسته بندی خاص قرار داره.)
    در کل سوالم اولویت بندی بین پست ها در وردپرس است.

    با تشکر فراوان از شما

    • الناز بیک زاده
      - ۳۱ اردیبهشت , ۱۳۹۳

      سلام مهرداد جان
      هدف شما از این کار چیه؟ اینوری بهتر می تونم راهنماییت کنم
      در کل می تونی یک متاباکس درست کنی که داخلش یک input select باشه و نوع اهمیت نوشته را انتخاب کنه

  • مهرداد
    - ۳۱ اردیبهشت , ۱۳۹۳

    تشکر از شما بابت پاسخ.

    ببینید فرض کنید ما تعدادی پست برای آگهی استخدامی داریم. هر کدوم از این پست ها هم در یه استان خاص هستند. من اینجا برای استان یه دسته بندی درست کردم و پست هر استان رو در دسته بندی خودش قرار می دم.

    حالا این احتمال وجود داره که برخی از پست های یک استان از اهمیت بیشتری نسبت به سایر آگهی همون استان داشته باشن. من چطوری می تونم اولویت این پست رو از سایر پست های همون استان بیشتر قرار بدم.
    با این کار می خوام پستی که اولویت بیشتری داره، بالاتر نشون داده بشه.

  • مهدی
    - ۱۵ خرداد , ۱۳۹۳

    سلام من میخوام یه صفحه جدید به قالب معرفی کنم sitemaps.php که نقسه سایت رو درونش قرار بدم الان فایل رو ساختم ولی چطور باید ادرس بهش بدم همین کارو دقیقا سایت http://bia2bebar.ir/sitemap انجام داده دوستان میشه راهنمایی کنید؟

  • alireza
    - ۱۸ خرداد , ۱۳۹۳

    جالب بود
    مرسی

  • MONJE
    - ۱۳ مرداد , ۱۳۹۳

    سلام
    مطلب زیبایی بود ممنون
    یک سوال:
    من از فایل index.php یه کپی گرفتم و دوباره با اسم index2.php کنار فایل اصلی تو قالب کپی کردم. فایل اصلی یا همون index.php به درستی کار میکنه ولی وقتی صفحه index2.php رو به صورت example.com/index2.php آدرس دهی میکنم میگه چنین صفحه ای وجود ندارد و در صورتی که به صورت آدرس کامل از تمپ مثل example.com/wp-content/themes/themeone/index2.php آدرس دهی میکنم به خط هایی مثل حلقه پست ها در وردپرس خطا میگیره و اجازه ران شدن نمیده.
    راهی بلدین برای حل این مشکل؟

  • حسین
    - ۱۷ مرداد , ۱۳۹۳

    وای غوق العاده بود.
    خیلی وقته دنبال یه چیزی شبیه صفحه home می گشتم اما نمی دونستم باید چکار کنم. الان که فایل home.php راتست زدم و جواب داد خیلی خوشحال شدم.
    ممنون. Like

  • زیبا
    - ۲۴ مرداد , ۱۳۹۳

    سلام من یه پوسته خبری دارم طراحی می کنم که در صفحه اصلی قالبم ( خانه) مطالب به صورت دسته بندی شده وجود دارن همچنین مطالب تصادفی و آخرین مطالب . من متوجه نشدم چطور باید این کارو انجام بدم آیا این کدها رو باید در فایل ایندکس قرار بدم یا home لطفا راهنماییم کنید . ضمنا من از لوپ هم در این فایل استفاده نخواهم کرد آیا چنین چیزی شئنی هست ؟

  • Web Developer
    - ۳۰ بهمن , ۱۳۹۳

    ممنون از آموزش خوب شما
    می خواهم برای تگ ها یک صفحه جدا طراحی کنم، چگونه ID تگ ها را پیدا کنم تا از ساختار زیر استفاده کنم:
    tag-{id}.php

    • الناز بیک زاده
      - ۲ اسفند , ۱۳۹۳

      سلام دوست من. به بخش برچسب ها برو لیست تگ ها رو میبینی
      به بخش ویرایش تگ برو
      توی آدرسش آی دی تگ هست
      tag_ID=7

  • فرشید
    - ۱۸ اردیبهشت , ۱۳۹۴

    سلام
    خیلی چیزها از نوشته تان یادگرفتم . احتمالا سئوالهایی خواهم داشت که مزاحمتان میشوم ولی خواستم همین الان تا مطلب را خواندم یک تشکر صمیمانه بکنم .
    خیلی ممنون

    • الناز
      - ۲۷ اردیبهشت , ۱۳۹۴

      سلام فرشید جان. خوشحالم که مقاله مفید بوده.
      موفق باشید

  • فرشته
    - ۲۰ اردیبهشت , ۱۳۹۴

    سلام دوستان
    ی سوال داشتم
    من قبلا در وردپرسم که روی لوکال هاستم هستش یک اسلاید شو اضافه کرده بودم و ازش جواب گرفته بودم ولی رمز ورودم رو گم کردم و سایتم رمز دوباره نمیداد
    مجبور شدم از سر ثبت نام کنم ولی الان اسلاید شو توی سایت جئید جواب نمیده منم یادم رفته از چه افزونه ای استفاده کرده بودم.
    میخواستم بدونم افزونه ها تو کدوم پوشه ورد پرس میره یا راه دیگه ای نیست که من محتوای نوشته رو که برای اسلاید شو استفاده کرده بودم رو ببینم؟
    نمیدونم تونستم منظورم و برسونم؟
    ممنوم اگه راهنمایی کنید

    • الناز
      - ۲۷ اردیبهشت , ۱۳۹۴

      سلام فرشته جان. افزونه ها داخل پوشه wp-content ->plugins ذخیره میشه. برای پیدا کردن محتویات نوشته اسلایدشو هم میتونید از داخل دیتابیس ببینید یا اگر اسلاید شو قابلیت export داره از محتویات خروجی بگیرید

  • hamid
    - ۱۲ اردیبهشت , ۱۳۹۵

    سلام…میخوام یه قسمتی توی سایت بذارم به نام پیام مدیر و می خوام محتویات اچ تی ام ال رو به داخل فایل php بذارم… چطور میشه این فایل رو در صفحه ایندکس فراخوانی کرد

    • الناز
      - ۲۰ اردیبهشت , ۱۳۹۵

      سلام. کجای سایت نمایش بده؟

      • hamid
        - ۲۰ اردیبهشت , ۱۳۹۵

        خیلی ممنون..
        پاسخ سوالم درو متوجه شدم.

  • hoda
    - ۴ آبان , ۱۳۹۷

    با سلام
    من اگه بخوام برای یه پست تایپ سفارشی یه جستجوی به خصوص بر اساس یکی از متا پست ها ایجاد کنم باید چیکار کنم؟
    باید در ابتدا صفحه ای با نام search-post_type.phpبسازم یا نه این روند اشتباهه؟
    اگر بله لطفا کد مربوط به جستجو بر اساس یک key_meta رو بزارید لطفا
    ممنون از اموزش ها ی خوبتون

دیدگاه خود را بیان کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

-- بارگیری کد امنیتی --