Ok, i am not gonna write whole HTML there, just giving you outer structure:
function carousel_acties_arrangementen() { ob_start(); $currentID = get_the_ID(); $args = array( 'post_type' => array('actie', 'arrangement'), 'posts_per_page' => '6', 'order' => 'ASC', 'orderby' => 'meta_value', 'post__not_in' => array($currentID), ); $acties_arrangementen = new WP_Query($args); ?> <?php if ($acties_arrangementen->have_posts()) : ?> <?php list($actiePost,$arrangementPost) = array_chunk($acties_arrangementen->get_posts(),3); ?> <?php foreach($actiePost as $key=>$value){?> <div> actie post data </div> <?php if(isset($arrangementPost[$key])){?> <div> arrangement post data </div> <?php } ?> <?php } ?> <?php endif; ?> <?php return ob_get_clean(); } add_shortcode('acties_arrangementen', 'carousel_acties_arrangementen');