تابع get_header در وردپرس
در وردپرس، توابع قالب (Template Tags) ابزارهایی قدرتمند برای مدیریت و نمایش بخشهای مختلف سایت هستند. یکی از مهمترین این توابع، تابع get_header() است که برای بارگذاری فایل هدر (header.php) در صفحات مختلف قالب استفاده میشود. این تابع معمولاً در ابتدای هر فایل قالب مانند index.php، single.php، یا page.php قرار میگیرد و بخش ابتدایی سایت را که شامل منو، لوگو، تگهای meta و سایر اجزای بالای سایت است، به نمایش در میآورد.
کاربرد اصلی تابع get_header()
تابع get_header() در واقع باعث فراخوانی فایل header.php از پوشه قالب فعال وردپرس میشود. این فایل معمولاً شامل:
- تگهای
<head>و متادیتاهای مربوط به سئو - فراخوانی
wp_head()برای افزونهها و استایلها - لوگو و منوی اصلی سایت
- ساختار HTML بالایی صفحه
به کمک این تابع میتوانید از تکرار کدهای مشترک بین صفحات مختلف جلوگیری کنید و مدیریت ساختار سایت را سادهتر نمایید.
نحوه استفاده از تابع get_header()
سادهترین حالت استفاده از تابع get_header() به شکل زیر است:
<?php get_header(); ?>
کد بالا فایل header.php را از پوشه قالب فعال بارگذاری میکند. اگر فایل مورد نظر در قالب فرزند (Child Theme) وجود داشته باشد، وردپرس ابتدا آن را بارگذاری کرده و در غیر این صورت به سراغ قالب والد (Parent Theme) میرود.
فراخوانی هدرهای سفارشی
وردپرس این امکان را فراهم کرده است تا بیش از یک فایل هدر داشته باشید. برای مثال اگر میخواهید برای صفحات خاص (مثلاً صفحه اصلی یا صفحه محصولات) از هدر متفاوتی استفاده کنید، میتوانید از پارامتر تابع get_header() استفاده کنید:
<?php get_header('home'); ?>
کد بالا فایل header-home.php را از پوشه قالب بارگذاری میکند. اگر چنین فایلی وجود نداشته باشد، وردپرس بهصورت خودکار به header.php بازمیگردد.
نمونه کاربردی در قالب وردپرس
در یک فایل index.php معمولاً از این تابع در ابتدای فایل استفاده میشود:
<?php
get_header();
?>
<main>
<h1>Welcome to My WordPress Site</h1>
</main>
<?php
get_footer();
?>
در این مثال، get_header() باعث بارگذاری بخش بالایی (header) سایت و get_footer() باعث بارگذاری فایل footer.php میشود. این روش از تکرار کدها جلوگیری کرده و ساختار پروژه را تمیز و قابل نگهداری نگه میدارد.
ساخت فایل header.php استاندارد
یک فایل header.php استاندارد معمولاً به شکل زیر است:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php wp_title('|', true, 'right'); ?></title>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="site-header">
<div class="container">
<h1><a href="<?php echo home_url(); ?>"><?php bloginfo('name'); ?></a></h1>
<nav><?php wp_nav_menu(array('theme_location' => 'primary')); ?></nav>
</div>
</header>
در این ساختار، تگ <?php wp_head(); ?> یکی از ضروریترین توابع وردپرس است که در بخش <head> قرار میگیرد تا افزونهها و قالبها بتوانند استایلها و اسکریپتهای خود را بارگذاری کنند.
فراخوانی هدر در قالبهای خاص
گاهی نیاز دارید بسته به نوع صفحه از هدر متفاوتی استفاده کنید. مثلاً برای صفحه فروشگاه از هدر خاصی با بنر تبلیغاتی استفاده کنید. در این صورت میتوانید در فایل page-shop.php از کد زیر استفاده نمایید:
<?php get_header('shop'); ?>
و فایل header-shop.php را مطابق نیاز خود بسازید. وردپرس به صورت خودکار آن را شناسایی میکند.
مقایسه بین get_header() و include
| ویژگی | get_header() | include |
|---|---|---|
| هوشمندی در فراخوانی قالبها | بله (از قالب فرزند شروع میکند) | خیر |
| هماهنگی با اکوسیستم وردپرس | کامل (پشتیبانی از اکشنها و فیلترها) | ندارد |
| امکان بارگذاری نسخههای مختلف فایل | دارد (مثلاً header-home.php) | ندارد |
| بهترین روش در توسعه قالب | بله | فقط برای تست یا اسکریپت ساده |
اکشنها و فیلترهای مرتبط با get_header()
وردپرس برای توسعهپذیری بیشتر، در کنار این تابع اکشنهایی ارائه داده است. مهمترین آنها عبارتند از:
- do_action(‘get_header’, $name) — پیش از فراخوانی فایل هدر اجرا میشود.
- do_action(‘wp_head’) — درون فایل header.php برای بارگذاری منابع لازم افزونهها استفاده میشود.
مثلاً اگر بخواهید قبل از بارگذاری هر هدر یک پیام یا لاگ ثبت کنید، میتوانید در functions.php بنویسید:
add_action('get_header', function($name){
error_log('Header loaded: ' . $name);
});
در این مثال، هر بار که تابع get_header() اجرا شود، نام فایل هدر (مثلاً shop یا home) در لاگ سرور ثبت میشود.
بهترین شیوهها (Best Practices)
- همیشه از
get_header()به جایincludeاستفاده کنید تا هماهنگی با وردپرس حفظ شود. - تابع
wp_head()را درون header.php حذف نکنید، زیرا باعث اختلال در عملکرد افزونهها میشود. - در صورتی که از قالب فرزند استفاده میکنید، مطمئن شوید نسخه صحیح header.php در پوشه قالب فرزند وجود دارد.
- در پروژههای حرفهای، برای صفحات خاص از هدرهای سفارشی استفاده کنید (مثلاً header-blog.php).
- در فایلهای تک صفحهای مانند single.php یا page.php، همیشه تابع
get_header()را قبل از هر محتوایی فراخوانی کنید.
رفع خطاهای رایج در استفاده از get_header()
- خطا: فایل header.php یافت نشد — بررسی کنید فایل header.php در پوشه قالب وجود دارد.
- مشکل بارگذاری استایلها یا اسکریپتها — احتمالاً تابع
wp_head()در فایل header.php فراموش شده است. - هدر اشتباه در صفحات خاص — مطمئن شوید نام پارامتر در
get_header('name')دقیقاً با نام فایل مطابقت دارد.
جمعبندی مفهومی
تابع get_header() یکی از پایههای معماری قالب وردپرس است که به شما امکان میدهد ساختار صفحات را ماژولار، خوانا و قابل نگهداری بسازید. این تابع با پشتیبانی از قالبهای فرزند، اکشنها، و هدرهای سفارشی انعطافپذیری بالایی در طراحی فراهم میکند. رعایت استانداردهای وردپرس در استفاده از این تابع باعث بهبود عملکرد و پایداری سایت میشود.
آیا این مطلب برای شما مفید بود ؟




