From this answer, I now have an adjusted WP_Query statement (I added the $paged variable):
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query( array( 'post_type' => 'laptop', 'postsperpage' => '30', 'max_num_pages' => 20, 'paged' => $paged) );
if ( $loop->have_posts() ) { ?>
...output content....
} ?>
<?php if ( $loop->max_num_pages > 1 ) : ?>
<div id="nav-below" class="navigation">
<div class="nav-previous">
<?php next_posts_link( __( '<span class="meta-nav">←</span> Previous', 'domain' ) ); ?>
</div>
<div class="nav-next">
<?php previous_posts_link( __( 'Next <span class="meta-nav">→</span>', 'domain' ) ); ?>
</div>
</div>
<?php endif; }
wp_reset_postdata();
?>
Nothing is output in <div class="nav-previous">
or <div class="nav-next">
.
Can you see what is wrong here please?