Заказывать сообщения можно по настраиваемым полям . Запрос будет примерно таким:
$query = new WP_Query( array ( 'post_type' => 'custom_page', 'order' => 'DESC', 'orderby' => 'meta_value', 'meta_key' => 'price' ) );
В вашем случае вам придется конвертировать цену и размер в чистые числовые значения, чтобы сортировка работала. Что касается аренды и продажи, я бы посоветовал вам не полагаться на сортировку, а использовать ее для запроса, что-то вроде этого:
$query = new WP_Query( array( 'post_type' => 'custom_page', 'meta_key' => 'deed', 'meta_value' => 'lease' ) );