Сортировка по рейтингу

Итак, у меня стоит плагин WP-PostRatings, с помощью которого обеспечивается оценка постов.
Также имеется поле для ввода значений от-до по рейтингу.
Каким образом это можно сделать?
Прикрепляю код, который почему то выполняется оооочень долго.

<?php
require($_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-load.php');
global $wpdb;

/* Sort */
//Проверка ввода значений
if (isset($_POST['submit_range'])) {
  $time_from = htmlspecialchars($_POST['amount1']);
  $time_to = htmlspecialchars($_POST['amount2']);
  $rate_from = htmlspecialchars($_POST['rate_from']);
  $rate_to = htmlspecialchars($_POST['rate_to']);
}
//Беру из соответствующей таблицы данные
$tables = $wpdb->get_results("SELECT `rating_postid`, `rating_rating` FROM `wp_ratings` ");

foreach ($tables as $table) {
  $p_id[] = $table->rating_postid;
  $rate[] = $table->rating_rating;
}

/* Start the Loop */
$i = 0;
while (have_posts()) :
	if (($rate[$i] <= $rate_to) && ($rate[$i] >= $rate_from)) {
		the_post();
		$i++;
		get_template_part('template-parts/content', get_post_type());
		the_posts_navigation();
	}
endwhile;

?>

Как понимаете при нажатии на "Применить" должны остаться посты, попадающие в интервал