Разница между 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. Она не принимает параметров.
Теперь вы понимаете, в чем заключается различие двух условных тегов.
http://digwp.com/2009/10/difference-between-is_singular-and-is_single/