There is a difference between is_single() and is_singular()