Query multiple WordPress post types alternately

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');

Leave a Comment