Loop Split two Columns

How can one split a loop via WP_Query into two columns without having to work with two loops

These would be possible with if conditional.

and it is possible that for example in the left side those posts of category “A and B” and in the right side those posts of category “C and D “.

Yes. Sure.

The problem is that one can theoretically create two different loops with different parameters for the query, but the page navigation only takes the results of one loop into account (since a page navigation should work for both columns).

You can also get two queries, one by one and merge the results. Just an option.

$enough = 20;
$args = array(
    'posts_per_page'    => $enough,
    'post_type'         => array('post');
    'category__in'      => array('A','B','C','D'),
    ... // some more 
);

// query
$q = new WP_Query( $args );
while( $q->have_posts() ) : $q->the_post();
global $post;
if(in_category(array('A', 'B') , $post)) {      
?>
<div class="left">
<?php
    the_title('<title>','</title>',true);
    the_content(); ?>
</div>
}else{ ?>

<div class="right">
<?php
    the_title('<title>','</title>',true);
    the_content(); ?>
</div>
<?php
}

... // block
endwhile;

If you prefer you can use CSS column-count: 2 and two queries that would give you 10 results each.

BTW, I took a constraint that no articles can have at the same multiple categories.

error code: 523