تابع get_singular_template در وردپرس

wordpress get singular template
30 فروردین 1404

درک تابع get_singular_template در وردپرس

تابع get_singular_template() یکی از توابع پرکاربرد در وردپرس است که به ما کمک می‌کند تا قالب مناسب برای پست‌های منفرد خود را پیدا کنیم. این تابع معمولاً زمانی که شما یک پست، صفحه یا نوع نوشته سفارشی را باز می‌کنید، فراخوانی می‌شود و به شما اجازه می‌دهد تا الگوی مخصوصی برای آن نوشته یا صفحه بارگذاری کنید.

برای هر نوع محتوا، وردپرس سعی می‌کند الگوهایی را در نظر بگیرد که بیشتر با آن پست یا صفحه تطابق داشته باشد. به عنوان مثال، اگر شما یک پست با فرمت خاص داشته باشید، مانند ویدئو یا گالری، get_singular_template() باید الگوی مربوط به آن فرمت را پیدا کند و به ما نمایش دهد.

نکته جالب این است که شما می‌توانید الگوهای خود را نیز تعریف کنید. به همین دلیل، این تابع برای کسانی که در حال توسعه تم‌های وردپرس هستند، بسیار مفید است. با استفاده از این تابع می‌توانیم فرمت نمایش خاص خود را ایجاد کرده و تجربه کاربری بهتری برای بازدیدکنندگان فراهم کنیم.

برای استفاده از این تابع، شما نیازی به قرار دادن هیچ گونه آرگومانی ندارید. تنها کافی است که آن را در فایل functions.php تم خود قرار دهید. این تابع به طور خودکار با توجه به نوع نوشته و وضعیت آن، الگوهای مناسب را بارگذاری می‌کند.

نمونه کد

<?php
// شامل تابع get_singular_template
function my_custom_template() {
if ( is_singular() ) {
// بارگذاری الگوی مناسب
get_template_part( get_singular_template() );
}
}
add_action( 'template_redirect', 'my_custom_template' );
?>

توضیح کد


کد: function my_custom_template() {
این خط یک تابع جدید به نام my_custom_template ایجاد می‌کند.
کد: if ( is_singular() ) {
در اینجا، ما بررسی می‌کنیم که آیا صفحه‌ای که باز شده است، صفحه‌ای منفرد (مثل پست یا صفحه) است یا خیر.
کد: get_template_part( get_singular_template() );
با این خط، ما الگوی مناسب را با استفاده از تابع get_singular_template() بارگذاری می‌کنیم.
کد: add_action( 'template_redirect', 'my_custom_template' );
در نهایت، ما تابع خود را به عمل template_redirect متصل می‌کنیم تا زمانی که وردپرس در حال بارگذاری قالب است، فراخوانی شود.

سوالات متداول

؟

تابع get_singular_template() چه کاری انجام می‌دهد؟

؟

چگونه می‌توانم از get_singular_template() در تم خود استفاده کنم؟

؟

آیا می‌توانم الگوهای خاصی را برای نوع نوشته‌های سفارشی تعریف کنم؟

؟

چگونه می‌توانم نتیجه عملکرد این تابع را ببینم؟