ویژگی تصویر

آموزش تابع wp_title() در وردپرس و کاربرد آن

  /  وردپرس   /  تابع wp_title در وردپرس
بنر تبلیغاتی الف
wp - wordpress - وردپرس

تابع 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()قابل استفاده اما منسوخ‌شونده

در نهایت، انتخاب روش مناسب بستگی به هدف شما، نیاز به سازگاری با نسخه‌های قدیمی و سطح سفارشی‌سازی مورد نیاز دارد. ترکیب فیلترها و توابع جدید بهترین نتیجه را از نظر سئو و نگهداری طولانی‌مدت فراهم می‌آورد.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: