تابع wp_title در وردپرس
تابع wp_title() یکی از توابعی است که در تمهای وردپرس برای تولید بخش عنوان صفحه (title) به کار میرود. هرچند در نسخههای جدید وردپرس روشهای جدیدتری معرفی شدهاند، آشنایی با wp_title()، کاربردهای عملی و نحوهٔ جایگزینی آن برای سازگاری با نسخههای مختلف، برای توسعهدهندگان تم و پلاگین همچنان مفید است.
چرا عنوان صفحه مهم است؟
- عنوان صفحه (title) اولین چیزی است که کاربران در نتایج جستجو میبینند.
- بر سئو (SEO) و نرخ کلیک تاثیر مستقیم دارد.
- برای نمایش صریح ساختار سایت و برندینگ در تب مرورگر مورد استفاده قرار میگیرد.
معرفی کوتاه wp_title()
تابع wp_title() خروجیای برای قسمت title برمیگرداند یا چاپ میکند. معمولاً در فایل header.php یک تم قدیمی نمونه به شکل زیر استفاده میشود:
<title><?php wp_title('|', true, 'right'); ?></title>توضیح: این فراخوانی عنوان صفحه را تولید میکند، جداکننده را ‘|’ قرار میدهد، خروجی را صریحاً چاپ میکند و ترتیب اضافهکردن نام سایت را به سمت راست قرار میدهد.
پارامترهای تابع wp_title()
- separator (رشته): جداکننده بین بخشهای عنوان؛ مثلاً ‘|’ یا ‘–’.
- display (بولی): اگر true باشد، خروجی چاپ میشود؛ اگر false باشد، مقدار بازگردانده میشود.
- seplocation (رشته): ‘right’ یا ‘left’ برای جایگاه جداکننده نسبت به عنوان صفحه.
مثال ساده و توضیح
<title><?php wp_title('-', true, 'right'); ?> <?php bloginfo('name'); ?></title>توضیح: این کد عنوان صفحه را با ‘-‘ جداکننده چاپ میکند و سپس نام سایت را با bloginfo(‘name’) اضافه میکند. در تمهای قدیمی این الگو معمولاً استفاده میشد.
مشکلات و محدودیتها
- از وردپرس 4.1 به بعد، روش استاندارد اضافهکردن تگ title استفاده از add_theme_support(‘title-tag’) است.
- در نسخههای جدیدتر، تابع wp_get_document_title() و فیلترهای document_title_parts جایگزین و انعطافپذیرتر هستند.
- سوءاستفاده یا استفادهٔ ناصحیح از wp_title() میتواند منجر به عناوین تکراری یا ناقص شود که برای سئو مضر است.
روش پیشنهادی: استفاده از title-tag
به جای استفادهٔ مستقیم از wp_title() بهتر است تم خود را برای مدیریت عنوان به وردپرس بسپارید:
function theme_setup() {
add_theme_support('title-tag');
}
add_action('after_setup_theme', 'theme_setup');توضیح: این قطعه کد در فایل functions.php قرار میگیرد. با فعال کردن support عنوان صفحه توسط وردپرس تولید و مدیریت میشود و نیازی به قرار دادن تگ <title> در header.php ندارید (فایل header.php معمولاً فقط <head> را شامل میکند و وردپرس عنوان را خود اضافه میکند).
چگونه عنوان را در قالب جدید سفارشی کنیم؟
در نسخههای جدید باید از فیلتر document_title_parts استفاده کنید تا قطعات عنوان را تغییر دهید:
add_filter('document_title_parts', 'my_custom_title_parts', 10, 1);
function my_custom_title_parts($parts) {
if (is_home()) {
$parts['title'] = 'وبلاگ من - محتوای تازه';
}
// اضافه کردن یا حذف قسمتهای مختلف مانند سایت یا توضیح
return $parts;
}توضیح: این فیلتر آرایهای از بخشهای عنوان را دریافت میکند (مثل title, site, tagline) و شما میتوانید بر اساس نوع صفحه آن را ویرایش یا بازنویسی کنید.
نمونهٔ ترکیبی برای سازگاری با نسخههای قدیمی و جدید
<title>
<?php
if (function_exists('wp_get_document_title')) {
echo wp_get_document_title();
} else {
wp_title('|', true, 'right');
bloginfo('name');
}
?>
</title>توضیح: این روش سازگاری تضمین میکند که اگر تابع جدید موجود باشد از آن استفاده شود و در غیر این صورت به wp_title() بازمیگردد. این الگو برای تمهایی که باید در نسخههای مختلف وردپرس کار کنند مناسب است.
افزودن فیلتر به wp_title()
اگر هنوز از wp_title() استفاده میکنید میتوانید با فیلتر wp_title خروجی را اصلاح کنید:
add_filter('wp_title', 'my_wp_title_filter', 10, 2);
function my_wp_title_filter($title, $sep) {
if (is_singular('product')) {
$title = 'محصول: ' . $title;
}
return $title;
}توضیح: این فیلتر عنوان تولید شده توسط wp_title را دریافت و امکان تغییر یا اضافهکردن متن را فراهم میکند. سعی کنید شرطها را دقیق بنویسید تا عناوین برای انواع محتوا مناسب شود.
نکات حرفهای و سئوی عنوانها
- طول عنوان را کنترل کنید: معمولاً بین 50 تا 60 کاراکتر برای نتایج گوگل مناسب است.
- از کلیدواژهها در بخشهای مهم عنوان استفاده کنید ولی از پر کردن بیش از حد خودداری کنید.
- نام سایت را فقط در صفحات اصلی یا مواقعی که ارزشافزوده دارد اضافه کنید.
- از جداکنندههای خوانا مانند “–” یا “|” استفاده کنید و ثبات را در کل سایت حفظ کنید.
جمعبندی و توصیهها
تابع wp_title() هنوز در برخی پروژههای قدیمی کاربرد دارد، اما برای توسعهٔ مدرن تم بهتر است از add_theme_support(‘title-tag’) و فیلترهای document_title_parts و تابع wp_get_document_title() استفاده کنید. اگر نیاز به سازگاری با نسخههای قدیمی دارید، از الگوهای شرطی برای fallback بهره ببرید. اصلاح عنوانها با فیلترها یک ابزار قدرتمند برای بهبود سئو و UX است—به شرطی که با دقت و بر اساس نوع صفحه انجام شود.
| موضوع | تابع/روش | وضعیت |
|---|---|---|
| تولید عنوان | wp_get_document_title() | پیشنهادی (WP 4.4+) |
| پشتیبانی تم | add_theme_support(‘title-tag’) | پیشنهادی (WP 4.1+) |
| روش قدیمی | wp_title() | قابل استفاده اما منسوخشونده |
در نهایت، انتخاب روش مناسب بستگی به هدف شما، نیاز به سازگاری با نسخههای قدیمی و سطح سفارشیسازی مورد نیاز دارد. ترکیب فیلترها و توابع جدید بهترین نتیجه را از نظر سئو و نگهداری طولانیمدت فراهم میآورد.
آیا این مطلب برای شما مفید بود ؟




