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

برای ایجاد یک پوسته وردپرس که وظیفه نمایش بخش های مختلف به کاربران ( و البته ربات ها ) را دارد ، دو فایل الزامی هستند . فایل index.php و فایل style.css .

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

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

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

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

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

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

در بخش زیر چند تمپلت وردپرس را مشاهده می کنید :

  • front_page_template
  • home_template
  • single_template
  • page_template
  • attachment_template
  • archive_template
  • category_template
  • tag_template
  • author_template
  • date_template
  • archive_template
  • search_template
  • 404_template
  • index_template

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

شما می توانید برای هر قلاب فیلتر منحصر بفرد یا همه قلاب فیلتر ها ، توسط قلاب template_include یک فیلتر اضافه کنید .

فرض کنید که شما می خواهید یک ساختار تمپلیت سفارشی را ایجاد کنید که پوسته های وردپرس به جای استفاده از تمپلیت های پیش فرض وردپرس ، از این ساختار تمپلیت سفارشی استفاده کنند . اینکار بوسیله قلاب فیلتر template_include و سایر قلاب های فیلتری که در مطالب قبلی آنها را مشاهده کردید ، امکانپذیر است .

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

در تابع موجود در مثال زیر ، ابتدا فایل single-category-$slug.php جستجو می شود ($slug همان نامک دسته بندی نوشته می باشد) . بنابراین اگر در سایت دسته بندی به نام art وجود داشته باشد و تمپلیتی به نام single-category-art.php هم وجود داشته باشد ، به جای تمپلیت single.php نمایش داده خواهد شد .

با این روش شما می توانید نوشته های مربوط به هر دسته بندی را با استفاده از کمی کد css از لحاظ ظاهری متمایز کنید یا با استفاده از کدهای php آنها را کاملاً اختصاصی کنید .

 

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