All right, I think I see what’s going on…
As per WP pagination parameters documentation, posts_per_page is indeed cached. Somewhat… Basically, you could set this to “10” the first time, as you do, and then to 5 after that, but then use “offset” or “paged” parameters to get the posts you want.
Your “load-next-amount” variable would simply be a counter of which “offset” or “page” you want to access…
Using offset, you could pass “load-next-amount” equals to “0”, “1”, “2”, …
$myArgs = array(
'category' => '',
'category_name' => '',
'orderby' => 'meta_value_num',
'order' => 'ASC',
'include' => '',
'exclude' => '',
'meta_key' => '_price_per_1hr_lesson',
'meta_value' => '',
'post_type' => 'job_listing',
'post_mime_type' => '',
'post_parent' => '',
'post__in' => $what,
'author' => '',
'author_name' => '',
'post_status' => 'publish',
'job_listing_region' => "'" . $city . "'",
'post_status' => 'publish',
'posts_per_page' => 10, // <--------
'offset' => 10 + (intVal($_POST['load-next-amount']) * 5), // <--------
'suppress_filters' => true
);
$myquery = new WP_Query( $myArgs );
Hope this helps!