I have achieved this in the past by using the following method.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'gtre',
'posts_per_page' => 6,
'paged' => $paged,
'meta_key' => 'price',
'orderby' => 'meta_value_num',
'order' => 'ASC',
);
$pquery = new WP_Query($args);
There shouldn’t be a need for the following in your code If you don’t set the new query object to $wp_query.
$temp = $wp_query;
$wp_query = NULL;
You generally don’t want to alter that because it’s the main query variable. By using a unique variable that isn’t already being used for WordPress you can be sure this is only effecting the current query you’re working on. Thus you won’t have any unexpected results.