quiery Сортировка одновременно по тексту и числу в WP

V
На сайте с 27.04.2009
Offline
46
722

Приветствую всех!

Вопрос таков:

Есть шаблон категории, в котором присутствует форма для ввода значений для выборки постов. Все эти значения хранятся в произвольных полях.

Код сортировки такой:

global $wp_query;

$estate_rent_type = $_GET['type_estate'];
$estate_rent_location = $_GET['location_estate'];
$estate_rent_val = $_GET['people_estate'];
$estate_rent_rooms = $_GET['bad_estate'];
$estate_rent_bath = $_GET['bath_estate'];

$args = array(
'posts_per_page' => 3,
'post_type' => 'estate_rent'
);
$args['meta_query']= array(
'relation' => 'IN'
);
if ( !empty( $estate_rent_type) ) {
$args['meta_query']= array(
array(
'key' => 'estate_rent_type',
'value' => $estate_rent_type
)
);
}
if ( !empty( $estate_rent_location ) ) {
$args['meta_query']= array(
array(
'key' => 'estate_rent_location',
'value' => $estate_rent_location
)
);
}
if ( $estate_rent_val) {
$args['meta_query']= array(
array(
'key' => 'estate_rent_val',
'value' => $estate_rent_val
)
);
}
if ( $estate_rent_rooms) {
$args['meta_query']= array(
array(
'key' => 'estate_rent_rooms',
'value' => $estate_rent_rooms
)
);
}
if ( $estate_rent_bath) {
$args['meta_query']= array(
array(
'key' => 'estate_rent_bath',
'value' => $estate_rent_bath
)
);
}

$args = array_merge( $wp_query->query, $args );

query_posts($args);
if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div id="news_roll">
<h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<p><?php kama_excerpt(); ?></p>

<div id="more">
<a href="<?php the_permalink() ?>" class="more">Узнать больше &rarr;</a>
</div><div class="clear"></div>
</div>
<?php endwhile; ?>
<div id="navigation">
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
</div>
<?php endif;?>

<?php wp_reset_query(); ?>

Сразу скажу, что первые два параметра текстовые, остальные числа.

С таким кодом выборка работает следующим образом. Условия отдельно по тексту и отдельно по числам - все ок. В комбинации текст+текст - выдает по максимальному количеству постов одного из параметров. Текст+число - выдает посты, подходящие под числовой параметр.

В коде указал параметр 'relation' => '???????????????'. Чую, что тут копать надо (возможно ошибаюсь). + Не работает нормально пагинация. При переходе на другую страницу слетает параметр.

Может подскажите в какую сторону идтить, а то голову уже сломал.

Мое детище, которое холю и лелею (http://quicktuts.ru/) Беспроводной интернет, антенны Yota (http://skylink.ws/Yota/) Профессиональный хостинг. Бесплатный домен. Безлимитный трафик. (http://goo.gl/MMvWNj)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий