I’m not sure if this is going to solve your whole issue, but you can add the paged
parameter to your current custom query. I don’t know why you have set the offset
parameter. If your offset is 0
, omit it completely
Also, remember to reset your post data after your custom query. Try something like this as a start and then work from there
<?php
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$loop = new WP_Query( array( 'post_type' => 'paintings', 'posts_per_page' => 4, 'paged' => $paged ) );
$count = $loop->post_count;
$number = ceil($count / 4);
echo "<ul>";
while ( $loop->have_posts() ) : $loop->the_post();
if ( has_post_thumbnail() ) {
echo "<li>" . the_post_thumbnail() . "</li>";
}
endwhile;
wp_reset_postdata();
echo "</ul>";
?>
This should, in theory, page your custom query with your main query