تابع get_template_part در وردپرس
در توسعه قالبهای وردپرس، یکی از مهمترین اصول، تفکیک کدها و استفاده مجدد از بخشهای مختلف قالب است. تابع get_template_part() یکی از ابزارهای قدرتمند وردپرس برای بارگذاری بخشهای جداگانه قالب بدون تکرار کد است. در این آموزش، با مفهوم، کاربرد و بهترین شیوههای استفاده از این تابع آشنا میشویم.
تعریف تابع get_template_part()
تابع get_template_part() به شما امکان میدهد یک فایل قالب فرعی (partial template) را داخل فایل قالب اصلی بارگذاری کنید. این تابع مشابه include یا require در PHP است، اما با امکانات خاص وردپرس و انعطافپذیری بیشتر.
نحو استفاده پایهای
get_template_part( $slug, $name = null );$slug: نام فایل قالب فرعی بدون پسوند.php.$name: بخش اختیاری برای تعیین نسخه خاص فایل (مثلاًcontent-page.php).
برای مثال، اگر بخواهیم فایل content.php را بارگذاری کنیم:
get_template_part( 'content' );این دستور فایل content.php را از پوشه قالب جاری فراخوانی میکند.
بارگذاری نسخههای متفاوت یک قالب
یکی از قابلیتهای مهم get_template_part()، امکان بارگذاری نسخههای مختلف یک فایل قالب است. فرض کنید فایلهای زیر را داریم:
content.phpcontent-page.phpcontent-post.php
برای بارگذاری نسخه صفحه:
get_template_part( 'content', 'page' );در این حالت وردپرس ابتدا دنبال content-page.php میگردد و در صورت عدم وجود، content.php را بارگذاری میکند. این ویژگی باعث افزایش انعطافپذیری و مدیریت بهتر قالب میشود.
مزایای استفاده از get_template_part()
- قابلیت استفاده مجدد: شما میتوانید یک بخش قالب را در چندین فایل بدون تکرار کد فراخوانی کنید.
- سازگاری با child theme: این تابع به صورت خودکار نسخه موجود در child theme را بارگذاری میکند و در صورت نبود، از قالب اصلی استفاده میکند.
- ساختار واضحتر: تقسیم قالب به بخشهای کوچک و مشخص، خوانایی و نگهداری کد را آسان میکند.
- انعطافپذیری: با استفاده از پارامتر
$nameمیتوان نسخههای مختلف قالب را مدیریت کرد.
مثال عملی
فرض کنید میخواهیم محتوای نوشتهها را در loop وردپرس نمایش دهیم و برای هر نوع پست نوع متفاوتی از قالب بارگذاری کنیم:
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
get_template_part( 'content', get_post_type() );
endwhile;
endif;
?>در این مثال، برای هر نوع پست (مثلاً post یا page) فایل content-post.php یا content-page.php بارگذاری میشود. اگر فایل مخصوص نوع پست وجود نداشته باشد، content.php جایگزین میشود.
بهترین شیوهها و نکات مهم
- همیشه بخشهای قالب را به فایلهای کوچک و منطقی تقسیم کنید.
- از نامگذاری استاندارد برای فایلها استفاده کنید تا قابلیت فهم و نگهداری بالاتر رود.
- از
get_template_part()به جایincludeیاrequireبرای هماهنگی با child theme استفاده کنید. - در استفاده از پارامتر
$nameدقت کنید تا فایل جایگزین به درستی بارگذاری شود. - کدهای قالبی که تکرار میشوند، مانند هدر نوشته، فوتر نوشته، یا باکس نظرات، بهترین گزینه برای استفاده از این تابع هستند.
مقایسه get_template_part() با include و require
| ویژگی | get_template_part() | include / require |
|---|---|---|
| سازگاری با child theme | ✔️ خودکار | ❌ نیاز به کدنویسی دستی |
| بازگشت مسیر پیشفرض | ✔️ دارد (fallback به slug اصلی) | ❌ ندارد |
| انعطافپذیری در بارگذاری نسخهها | ✔️ با پارامتر $name | ❌ ندارد |
| سادگی کد | ✔️ کوتاه و استاندارد | ⚠️ ممکن است طولانیتر شود |
نتیجهگیری
تابع get_template_part() یک ابزار کلیدی برای توسعهدهندگان وردپرس است که امکان سازماندهی قالب، افزایش قابلیت استفاده مجدد و مدیریت آسان قالبها را فراهم میکند. استفاده صحیح از این تابع باعث میشود قالب شما منعطف، قابل توسعه و همخوان با child themeها باشد و کیفیت کدها به صورت چشمگیری افزایش یابد.
آیا این مطلب برای شما مفید بود ؟




