تابع شرطی is_single() در وردپرس بررسی میکند که آیا صفحهٔ فعلی، صفحهٔ نمایش یک نوشته (post type: post) یا هر نوع پست سفارشی بهجز page (برگه) و attachment (پیوست) است.
به عبارت دیگر، اگر این تابع را در یک برگه یا صفحهٔ پیوست فراخوانی کنید، false برمیگرداند، زیرا این نوع محتواها شامل تعریف تابع is_single() نمیشوند.
if ( is_single() ) {
echo 'شما در حال مشاهده یک نوشته هستید.';
}
تابع is_single میتواند به صورت هدفمند برای شناسایی نوشتههای یک نوع خاص هم استفاده شود. مثلاً:
if ( is_single(42) ) { // شناسه نوشته
echo 'این نوشته با ID 42 است.';
}
if ( is_single('my-post') ) { // نامک نوشته
echo 'این نوشته my-post است.';
}

چه زمانی از is_singular استفاده کنیم؟
تابع is_singular دقیقتر و جامعتر عمل میکند. این تابع بررسی میکند که آیا صفحه فعلی یک single view از هر نوع پستی است - چه نوشتهی عادی، چه برگه، چه پیوست یا حتی post typeهای سفارشی.
if ( is_singular() ) {
echo 'شما در حال مشاهده یک صفحه تکی از هر نوع پست هستید.';
}
if ( is_singular('product') ) {
echo 'شما در حال مشاهده یک محصول ووکامرس هستید.';
}
بررسی وجود برگه
در آخرین مثال بالا با استفاده از تابع is_singular بررسی کردیم که آیا در حال حاضر داخل یک product هستیم یا خیر. همچنین با استفاده از قطعه کد زیر میتوانیم بررسی کنیم که داخل یک برگه یا یک نوشته هستیم:
// is_singular( $post_type )
if( is_singular( 'page' ) ) {
// داخل یک برگه هستیم
}
if( is_singular( 'post' ) ) {
// داخل یک نوشته یا پست عادی هستیم
}
