Merged two WP_Queries, posts per page and pagination not working

I had this exact problem. I just stumbled upon the solution!

In case this helps you, in both my initial queries before the array merge I changed the posts_per_page to be -1 like 'posts_per_page' => -1 instead of 10. When I did this, the pagination links suddenly appeared and worked fine.

I then added 'posts_per_page' => 10 to my final query after the array_merge for it to show 10 per page.

EDIT:

Now looking at your code I see you did that too. Then you should maybe change the way you query as I did, by merging your results array and then doing a query on the merged results. It worked for me and your way did not.

$other_reviews = get_posts( 
    array( 
        'fields'         => 'ids',
        'post_type'      => 'post', 
        'cat'            => 36, 
        'posts_per_page' => -1, 
        'paged'          => $paged, 
        'orderby'        => 'date', 
        'order'          => 'DESC' 
    )
);

$reviews = get_posts( 
    array( 
        'fields'         => 'ids', 
        'post_type'      => array( 'reviews1','review2' ), 
        'posts_per_page' => -1, 
        'paged'          => $paged, 
        'orderby'        => 'date', 
        'order'          => 'DESC' 
    )
);

Then we merge them together:

// merging ids
$post_ids = array_merge( $other_reviews, $reviews );

and construct the combined query with:

// the main query
$query = new WP_Query(
    array(
        'post_type'      => 'any',
        'post__in'       => $post_ids, 
        'paged'          => $paged,
        'orderby'        => 'date', 
        'order'          => 'DESC',
        'posts_per_page' => 10
    )
);