Разница между is_singular() и is_single()

Скорее всего, вы знаете о том, что привязку к отдельным страницам можно производить посредством условного тега is_single():

<?php
if(is_single()) {

	// do something

} else {

	// do something else

}
?>

С помощью этого тега можно легко применить стили и разметку к отдельным страницам, выполнить некоторые скрипты и т.д.

Однако слышали ли вы когда-нибудь об условном теге is_singular()? Указанный тег объединяет в себе привязку к одиночным страницам, регулярным страницам и страницам вложений.

Таким образом, вместо того чтобы набирать громоздкую конструкцию:

<?php
if(is_single() || is_page() || is_attachment()) {

	// do something

} else {

	// do something else

}
?>

можно ограничиться следующим кодом:

<?php
if(is_singular()) {

	// do something

} else {

	// do something else

}
?>

Тег is_singular() — это булева функция, возвращающая одно из двух значений — true или false. Она не принимает параметров.

Теперь вы понимаете, в чем заключается различие двух условных тегов.