Non-queryable posts

Oh WordPress, sometimes I discovered a little nuggets that opens a whole world of possibilities. Who doesn’t love custom posts right? They are great – they provide so much flexibility and they make life so much easier for the client when it comes to managing content. However, there are definitely times when we don’t necessary want these single custom posts to be queryable. For example, I work on a lot of websites for architects / interior designers – these clients usually need robust portolio functionality which usually beg the following post types:
– projects – obviously
– testimonials
– press
with advanced custom fields i can easily wire everything together, output related press and testimonials on a project page etc.
However – it’s not ideal for press and testimonials to have independent, single post pages – press content usually exists in custom fields and ideally user would get sent directly to the full press item and i usually end up giving testimonials wierd titles inorder to quickly identify them in the dashboard. While some might argue the seo benefits of keeping htese pages – the idea of having to build one (or two) more custom templates (in this case single-press.php and single-testimonial.php) is exhausting, also i’m just not trying to type testimonial anymore times than i absolutely need to. However imagine my horror in the past when ive discovered these showing up in site and google search results – sometimes the layout of these unexpected pages is enough to make my skin crawl, more often than not they are blank. So – in attempt to max out my ocd and make everything as finely tuned as possible – i began investigating the following options in the register post type array: