گاهی ممکن است بخواهید بخشی از کد، متن یا تبلیغی را فقط در صفحه اصلی سایت خود نمایش دهید (که جزئی از home.php نیست)، اما تمایلی ندارید این بخش در صفحات دیگر سایت نمایش داده شود. درادامه این مقاله از سری مقالات آموزش وردپرس دو روش ساده برای انجام این کار آورده شده است. هر دو روش بسیار آسان هستند و حتی افراد مبتدی هم میتوانند به راحتی از آنها استفاده کنند.
راهنمای مطالعه:
بررسی is_front_page
به نظر من این روش بهترین گزینه است. کافیست با یک تست ساده php بررسی کنید که آیا صفحه فعلی، صفحه نخست سایت است یا خیر و در این صورت محتوای مورد نظر را نمایش دهید. کد نمونه را در پایین میتوانید ببینید:
<?php if ( is_front_page() ) { ?>
Do stuff here
<?php } ?>
بررسی is_home
همچنین میتوانید بررسی کنید که آیا صفحه فعلی همان “صفحه خانه” است یا نه و در این حالت کاری انجام دهید. مثال آن را در پایین میبینید:
<?php if ( is_home() ) { ?>
Do stuff here
<?php } ?>
تفاوت is_home و is_front_page
شاید برایتان سؤال باشد که تفاوت بین “front_page” و “home” چیست. توضیح آن خیلی ساده است: “front page” در واقع همان اولین صفحه سایت شما (صفحه اصلی) است، در حالی که “home” صفحهای است که جدیدترین نوشتههای شما در آن نمایش داده میشوند.
هر وقت میخواهید چیزی فقط روی صفحه اصلی (مهم نیست صفحه اصلی ایستا باشد یا نوشتههای اخیر باشد) نمایش داده شود، از is_front_page استفاده کنید.
اگر میخواهید فقط روی صفحه وبلاگ اصلی محتوایی نمایش دهید حتی اگر این صفحه به عنوان صفحه اصلی ست نشده باشد، از is_home استفاده کنید.
ساخت سایدبار، هدر یا فوتر مخصوص صفحه اصلی
روش دیگر این است که یک سایدبار، هدر یا فوتر اختصاصی برای صفحه اصلی بسازید که فقط همانجا کد یا تبلیغتان را نمایش دهد. کافیست مراحل زیر را انجام دهید:
- یک فایل جدید مخصوص صفحه نخست بسازید (مثلا sidebar-home.php یا footer-home.php یا header-home.php)
- محتوای مورد نیاز را در این فایل قرار دهید
- در فایل home.php یا index.php (هر کدام که قالب شما برای صفحه اصلی استفاده میکند)، فایل جدید را فراخوانی کنید – برای این کار یکی از روشهای زیر را به کار ببرید:
<?php get_header( home ); ?>
<?php get_sidebar( home ); ?>
<?php get_footer( home ); ?>
این روش کمی زمانبرتر است چون باید فایل جدید ایجاد کنید. با این حال، اگر میخواهید سایدبار، هدر یا فوتر صفحه اصلی کاملا متفاوت باشد، این شیوه به نظم بیشتر فایلهای قالب شما کمک میکند.
- نکته عملی: استفاده از توابع
is_front_page()وis_home()نه تنها برای نمایش تبلیغات یا المانهای خاص در صفحه نخست کاربرد دارد، بلکه میتوانید آنها را برای استایلدهی سفارشی (مثلا اضافه کردن کلاس CSS خاص یا بارگذاری اسکریپت/استایل متفاوت) فقط در این صفحهها به کار ببرید. به این ترتیب سرعت بارگذاری سایر صفحات سایت افزایش یافته و مدیریت کدها برای شما سادهتر خواهد بود.
اگر از is_home() استفاده کنید و تازهترین مطالب روی صفحهای غیر از صفحه اصلی نمایش داده شود، بازهم دقیقا همان خروجی را فقط در صفحه فهرست مطالب خواهید گرفت.
سفارشیسازیهای پیشرفتهتر با فیلترها و اکشنها
در پروژههای بزرگتر، گاهی لازم است بخشی از کد خود را در یک پلاگین اختصاصی بگذارید تا کنترل بیشتری روی منطق نمایش داشته باشید و بارگذاری اکشنها را مدیریت کنید. برای نمونه:
add_action('wp_footer', function() {
if ( is_front_page() ) {
echo '<p>این متن فقط در فوتر صفحه اصلی نمایش داده میشود.</p>';
}
});
به این ترتیب، به جای ویرایش مستقیم فایل قالب، میتوانید منطق شرطی را از طریق functions.php یا افزونه اختصاصی پیادهسازی کنید که نگهداری کد را حرفهایتر میکند.
خطایابی و نکات مهم
- دقت کنید: برخی قالبها (خصوصا قالبهای بر پایه page builder یا قالبهای آماده پیچیده) ممکن است رفتار
is_front_pageیاis_homeبا آنچه انتظار دارید تفاوت داشته باشد. حتما مستندات قالب خود را مطالعه کنید یا یک متغیر ساده در هر شرطechoکنید تا از صحت عملکرد آن اطمینان یابید.
- برای آزمون دقیق: مسیر زیر را دنبال کنید:
- از پیشخوان > تنظیمات > خواندن، گزینه “صفحه نخست شما نمایش داده شود” را بررسی کنید (بررسی کنید صفحه ثابت یا نوشتههای اخیر انتخاب شده است)
- شرطها را روی هر دو حالت تست کنید تا تفاوتها برای شما ملموس شود.
جمعبندی
- اگر سایت شما یک صفحه فرود (لندینگ) خاص دارد، همیشه
is_front_page()برترین گزینه است.
- اگر فقط فهرست نوشتهها معیار شماست حتی اگر این صفحه جدا باشد،
is_home()را انتخاب کنید.
- کاربرد هوشمندانه این شرطها، کدهای سایت شما را تمیز، سریع و انعطافپذیر نگه میدارد.
با این ترفندها هم قابلیت شخصیسازی وردپرستان بیشتر میشود و هم تجربه کاربری سایتتان بهبود پیدا میکند.

دیدگاه و پرسش