Поддержка Проблемы и решения Использование формы ввода параметров, выборка по прои

  • Решено vaggah

    (@vaggah)


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

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

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

    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’ => ‘???????????????’. Чую, что тут копать надо (возможно ошибаюсь). + Не работает нормально пагинация. При переходе на другую страницу слетает параметр.

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

Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)
  • Тема «Использование формы ввода параметров, выборка по прои» закрыта для новых ответов.