I'm building a post grid on my front page and I'd like to show one random post per CPT. At the moment, CPT are queried out in a query array:

&lt;?php
$c = 1; //init counter
$bpr = 3; //boxes per row   
$wp_query = new WP_Query(array('showposts' =&gt; 9, 'orderby'=&gt; 'rand', 'post_type' =&gt; array('productions',  'plays', 'movies', 'theatres', 'directors', 'artists', 'countries', 'events', 'grades')));
while( have_posts() ) : the_post(); ?&gt;


&lt;div class="post" id="post-&lt;?php the_ID(); ?&gt;"&gt;
   &lt;p&gt;&lt;?php $post_type = get_post_type_object( get_post_type($post) ); echo $post_type-&gt;label ; ?&gt;&lt;/p&gt;
   &lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark"&gt;
      &lt;?php if ( has_post_thumbnail() ) {
         the_post_thumbnail('thumbnail');
        } else { ?&gt;
        &lt;img src="&lt;?php bloginfo('template_directory'); ?&gt;/img/fallback_image.jpg" alt="&lt;?php the_title(); ?&gt;" /&gt;
      &lt;?php } ?&gt;
   &lt;/a&gt;
&lt;/div&gt;
&lt;?php
if($c == $bpr) :
?&gt;
&lt;div class="clr"&gt;&lt;/div&gt;
&lt;?php
$c = 0;
endif;
?&gt;
&lt;?php
        $c++;
        endwhile;

?&gt;


So the problem with this array is that it starts to dublicate the CPT's when I query them, sometimes even it queries 4 random posts from CPT.

One solution would be to create 9 different queries - one for each CPT, but this seems to be overkill for the front page. 

Is there a way to really only query 1  random post per CPT in a way that wouldn't affect the page loading time so much?


Question: Ticketing/Project Management/Collaborative Software for Graphic Design
Answer: As mentioned before, a dedicated project management software such as Jira may be overkill and too clumsy for your application. At the same time, a plain helpdesk may just solve one end of your problem (tackle your tickets) but it won't necessarily help out with collaboration or feedback tracking that you'll receive from your clients.

Something that may work for you is Helprace. 

Helprace is not only a ticket system for client requests, but also a collaboration and idea tracking tool. Customers or staff can collaborate and share questions/ideas/problem/praise publicly. You can also open as many portals as you like (for different projects) or make them private, so only staff can see them (in other words, staff can collaborate in private).

To be honest, I don't know of other simple project collaboration + helpdesk combos, but most helpdesk providers want to do one thing and do it well, so rather than committing to developing the whole system from scratch, they will offer integrations which is not for everyone.