Есть сайт где должна производится фильтрация по определенным полям (площадь дома, его этажность, материалы). Изначально все работало хорошо, но после изменений в некоторых полях фильтрация не работает. Что может быть?
Здесь происходит выбор опций, которые подгружаются с плагина Advanced Custom Fields PRO:
<div class="thumbnail sidebar">
<h3>Поиск проекта</h3>
<form method="post" action="/rezultaty-poiska.html">
<ul>
<li><hr></li>
<li>
<label>Выбрать тип дома:
<select name="materials" id="">
<option <?php if ($_POST['materials'] == 'all') {echo 'selected'; } ?> value="all">Все</option>
<option <?php if ($_POST['materials'] == 'kamenuy') {echo 'selected'; } ?> value="kamenuy">Камень</option>
<option <?php if ($_POST['materials'] == 'wood') {echo 'selected'; } ?> value="wood">Дерево</option>
<option <?php if ($_POST['materials'] == 'karkas') {echo 'selected'; } ?> value="karkas">Каркас</option>
<option <?php if ($_POST['materials'] == 'stone') {echo 'selected'; } ?> value="stone">Кирпич</option>
<option <?php if ($_POST['materials'] == 'monolit') {echo 'selected'; } ?> value="monolit">Монолит</option>
<option <?php if ($_POST['materials'] == 'keramika') {echo 'selected'; } ?> value="keramika">Теплая керамика</option>
<option <?php if ($_POST['materials'] == 'beton') {echo 'selected'; } ?> value="beton">Бетон</option>
</select>
</label>
</li>
<li>
<label>Материал стен:
<select name="steny" id="">
<option <?php if ($_POST['steny'] == 'all') {echo 'selected'; } ?> value="all">Все</option>
<option <?php if ($_POST['steny'] == 'kamen') {echo 'selected'; } ?> value="kamen">Каменные</option>
<option <?php if ($_POST['steny'] == 'derevo') {echo 'selected'; } ?> value="derevo">Деревянные</option>
<option <?php if ($_POST['steny'] == 'karakas') {echo 'selected'; } ?> value="karakas">Каркасные</option>
</select>
</label>
</li>
<li>
<label>Этажность:
<select name="floors" id="">
<option <?php if ($_POST['floors'] == 'all') {echo 'selected'; } ?> value="all">Все</option>
<option <?php if ($_POST['floors'] == 'one') {echo 'selected'; } ?> value="one">1 этаж</option>
<option <?php if ($_POST['floors'] == 'two') {echo 'selected'; } ?> value="two">2 этажa</option>
<option <?php if ($_POST['floors'] == 'three') {echo 'selected'; } ?> value="three">3 этажа</option>
</select>
</label>
</li>
<li>
<label>Площадь:
<select name="square" id="">
<option <?php if ($_POST['square'] == 'one') {echo 'selected'; } ?> value="all">Все</option>
<option <?php if ($_POST['square'] == 'from100') {echo 'selected'; } ?> value="from100">до 100 м <sup>2</sup></option>
<option <?php if ($_POST['square'] == 'from200') {echo 'selected'; } ?> value="from200">от 100 - 200 м <sup>2</sup></option>
<option <?php if ($_POST['square'] == 'from300') {echo 'selected'; } ?> value="from300">до 300 м <sup>2</sup></option>
<option <?php if ($_POST['square'] == 'from400') {echo 'selected'; } ?> value="from300">до 400 м <sup>2</sup></option>
<option <?php if ($_POST['square'] == 'from500') {echo 'selected'; } ?> value="from500">до 500 м <sup>2</sup></option>
<option <?php if ($_POST['square'] == 'at500') {echo 'selected'; } ?> value="at500">от 500 м <sup>2</sup></option>
</select>
</label>
</li>
<!--<li>
<label>Бюджет строительства:
<select name="square" id="">
<option <?php if ($_POST['square'] == 'one') {echo 'selected'; } ?> value="all">Все</option>
<option <?php if ($_POST['square'] == 'at500') {echo 'selected'; } ?> value="at500">до 1 млн. </option>
<option <?php if ($_POST['square'] == 'at500') {echo 'selected'; } ?> value="at500">до 2 млн. </option>
<option <?php if ($_POST['square'] == 'at500') {echo 'selected'; } ?> value="at500">до 3 млн. </option>
<option <?php if ($_POST['square'] == 'at500') {echo 'selected'; } ?> value="at500">выше 3 млн. </option>
</select>
</label>
</li>-->
<li>
<label>Стиль:
<select name="style" id="">
<option <?php if ($_POST['style'] == 'one') {echo 'selected'; } ?> value="all">Все</option>
<option <?php if ($_POST['style'] == 'classic' ) {echo 'selected'; } ?> value="classic">Классический</option>
<option <?php if ($_POST['style'] == 'rait' ) {echo 'selected'; } ?> value="rait">Райт</option>
<option <?php if ($_POST['style'] == 'modrn' ) {echo 'selected'; } ?> value="modrn">Модерн</option>
<option <?php if ($_POST['style'] == 'victoryan' ) {echo 'selected'; } ?> value="victoryan">Викторианский</option>
<option <?php if ($_POST['style'] == 'towers' ) {echo 'selected'; } ?> value="towers">Замковый</option>
<option <?php if ($_POST['style'] == 'shale' ) {echo 'selected'; } ?> value="shale">Шале</option>
<option <?php if ($_POST['style'] == 'renesans' ) {echo 'selected'; } ?> value="renesans">Ренесанс</option>
<option <?php if ($_POST['style'] == 'gotic' ) {echo 'selected'; } ?> value="gotic">Готический</option>
<option <?php if ($_POST['style'] == 'barokko' ) {echo 'selected'; } ?> value="barokko">Барокко</option>
<option <?php if ($_POST['style'] == 'rokkoko' ) {echo 'selected'; } ?> value="rokkoko">Рококо</option>
<option <?php if ($_POST['style'] == 'hitec' ) {echo 'selected'; } ?> value="hitec">Хай-тек</option>
<option <?php if ($_POST['style'] == 'scandinavsky' ) {echo 'selected'; } ?> value="scandinavsky">Скандинавский</option>
<option <?php if ($_POST['style'] == 'rusland' ) {echo 'selected'; } ?> value="rusland">Русский</option>
<option <?php if ($_POST['style'] == 'italic' ) {echo 'selected'; } ?> value="italic">Итальянский</option>
<option <?php if ($_POST['style'] == 'finn' ) {echo 'selected'; } ?> value="finn">Финский</option>
<option <?php if ($_POST['style'] == 'rustical' ) {echo 'selected'; } ?> value="rustical">Рустикальный</option>
<option <?php if ($_POST['style'] == 'ultransov' ) {echo 'selected'; } ?> value="ultransov">Ультрасовременный</option>
<option <?php if ($_POST['style'] == 'usa' ) {echo 'selected'; } ?> value="usa">Американский</option>
<option <?php if ($_POST['style'] == 'sredizem' ) {echo 'selected'; } ?> value="sredizem">Средиземноморский</option>
<option <?php if ($_POST['style'] == 'nemec' ) {echo 'selected'; } ?> value="nemec">Немецкий</option>
<option <?php if ($_POST['style'] == 'colony' ) {echo 'selected'; } ?> value="colony">Колониальный</option>
<option <?php if ($_POST['style'] == 'fahver' ) {echo 'selected'; } ?> value="fahver">Фахверк</option>
<option <?php if ($_POST['style'] == 'asian' ) {echo 'selected'; } ?> value="asian">Восточный</option>
<option <?php if ($_POST['style'] == 'shato' ) {echo 'selected'; } ?> value="shato">Шато</option>
<option <?php if ($_POST['style'] == 'ampir' ) {echo 'selected'; } ?> value="ampir">Ампир</option>
<option <?php if ($_POST['style'] == 'alpian' ) {echo 'selected'; } ?> value="alpian">Альпийский</option>
<option <?php if ($_POST['style'] == 'provance' ) {echo 'selected'; } ?> value="provance">Прованс</option>
<option <?php if ($_POST['style'] == 'country' ) {echo 'selected'; } ?> value="country">Кантри</option>
<option <?php if ($_POST['style'] == 'english' ) {echo 'selected'; } ?> value="english">Английский</option>
<option <?php if ($_POST['style'] == 'canadian' ) {echo 'selected'; } ?> value="canadian">Канадский</option>
<option <?php if ($_POST['style'] == 'europian' ) {echo 'selected'; } ?> value="europian">Европейский</option>
<option <?php if ($_POST['style'] == 'norway' ) {echo 'selected'; } ?> value="norway">Норвежский</option>
<option <?php if ($_POST['style'] == 'shvedish' ) {echo 'selected'; } ?> value="shvedish">Шведский</option>
</select>
</label>
</li>
<li><hr></li>
</ul>
<div class="wide">
<a class="ref" href="#">Расширенный поиск</a>
<div id="wide_search">
<h3>Расширенный поиск:</h3>
<ul>
<li><h4>Тип строения</h4>
<ul>
<li><label><input type="checkbox" name="building_type[]" <?php if (in_array('dom', $_POST['building_type'] )) {echo 'checked'; } ?> value="dom">Дом</label></li>
<li><label><input type="checkbox" name="building_type[]" <?php if (in_array('garaj', $_POST['building_type'] )) {echo 'checked'; } ?> value="garaj">Гараж</label></li>
<li><label><input type="checkbox" name="building_type[]" <?php if (in_array('basein', $_POST['building_type'] )) {echo 'checked'; } ?> value="basein">Бассейн</label></li>
<li><label><input type="checkbox" name="building_type[]" <?php if (in_array('banya', $_POST['building_type'] )) {echo 'checked'; } ?> value="banya">Баня</label></li>
<li><label><input type="checkbox" name="building_type[]" <?php if (in_array('zabor', $_POST['building_type'] )) {echo 'checked'; } ?> value="zabor">Забор</label></li>
</ul>
</li>
<li><h4>Опции</h4>
<ul>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_garajem', $_POST['option'] )) {echo 'checked'; } ?> value="s_garajem">С гаражом</label></li>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_mansardoy', $_POST['option'] )) {echo 'checked'; } ?> value="s_mansardoy">С мансардой</label></li>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_baseinom', $_POST['option'] )) {echo 'checked'; } ?> value="s_baseinom">С бассейном</label></li>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_sainoi', $_POST['option'] )) {echo 'checked'; } ?> value="s_sainoi">С сайной</label></li>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_terassoi', $_POST['option'] )) {echo 'checked'; } ?> value="s_terassoi">С терассой</label></li>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_cokolem', $_POST['option'] )) {echo 'checked'; } ?> value="s_cokolem">С цоколем</label></li>
<li><label><input type="checkbox" name="option[]" <?php if (in_array('s_baney', $_POST['option'] )) {echo 'checked'; } ?> value="s_baney">С баней</label></li>
</ul>
</li>
<li><h4>Тип</h4>
<ul>
<li><label><input type="checkbox" name="type[]" <?php if (in_array('elitnye', $_POST['type'] )) {echo 'checked'; } ?> value="elitnye">Элитные</label></li>
<li><label><input type="checkbox" name="type[]" <?php if (in_array('kotedji', $_POST['type'] )) {echo 'checked'; } ?> value="kotedji">Коттеджи</label></li>
<li><label><input type="checkbox" name="type[]" <?php if (in_array('eko_doma', $_POST['type'] )) {echo 'checked'; } ?> value="eko_doma">Эко дома</label></li>
<li><label><input type="checkbox" name="type[]" <?php if (in_array('ekonom_doma', $_POST['type'] )) {echo 'checked'; } ?> value="ekonom_doma">Эконом дома</label></li>
</ul>
</li>
</ul>
</div>
</div>
<button href="#" type="submit" class="btn btn-default">Подобрать проекты</button>
</div>
</form>
Здесь выводятся результаты фильтрации:
<div class="container page-template-page-category">
<div class="row">
<div class="col-xs-12">
<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>
</div>
<div class="row">
<div class="col-md-3 left-side">
<?php get_template_part('search','block'); ?>
</div>
<div class="col-md-9">
<h1>Результаты поиска</h1>
<?php
//print_r($_POST);
if ( $_POST['materials'] !='all') { // доступен или нет (метаполе)
$materials = array(
'key' => 'materials',
'value' => $_POST['materials']
);
}
if ( $_POST['floors'] !='all' ) { // доступен или нет (метаполе)
$floors = array(
'key' => 'floors',
'value' => $_POST['floors']
);
}
if ( $_POST['square'] !='all' ) { // доступен или нет (метаполе)
$square = array(
'key' => 'square',
'value' => $_POST['square']
);
}
if ( $_POST['style'] !='all' ) { // доступен или нет (метаполе)
$style = array(
'key' => 'style',
'value' => $_POST['style']
);
}
if (isset($_POST['building_type'])) {
$building_type_array = Array();
$building_type = array(
'relation' => 'OR'
);
foreach ($_POST['building_type'] as $one) {
//print_r($one);
$building_type_array = array(
'key' => 'building_type',
'value' => $one
);
$building_type[] = $building_type_array ;
}
}
if (isset($_POST['option'])) {
$option_array = Array();
$option = array(
'relation' => 'OR'
);
foreach ($_POST['option'] as $one) {
//print_r($one);
$option_array = array(
'key' => 'option',
'value' => $one
);
$option[] = $option_array ;
}
}
if (isset($_POST['type'])) {
$type_array = Array();
$type = array(
'relation' => 'OR'
);
foreach ($_POST['type'] as $one) {
//print_r($one);
$type_array = array(
'key' => 'type',
'value' => $one
);
$type[] = $type_array ;
}
}
$meta_query = array( // сборка метаполей
'relation' => 'AND',
$materials,
$floors,
$square,
$style,
$building_type,
$option,
$type
);
$args = array(
'post_type' => 'home_project',
'posts_per_page' => 20, // пагинация на главной странице раздела
'posts_per_archive_page' => 20, // пагинация на архивных страницах
'meta_query' => $meta_query
);
query_posts( $args );
$count = 1;
echo '<div class="row items cub">';
$count_small = -6;
//$posts_array = get_posts( $args );
while ( have_posts() ) {
{
//setup_postdata($post);
the_post();
$id = get_the_ID();
$image = wp_get_attachment_image_src(get_field("main_image",$id), 'medium');
if ($count_small <3 ) { $num = 4 ; } else { $num = 3 ; };
echo '<div class="col-sm-6 col-md-'.$num.'">
<div class="thumbnail item-prodj">
<a href="/home_project/'.get_post_field( 'post_name', $pr_id ).'.html">
<img src="'.$image[0].'" alt="'.get_field("ploschad",$pr_id).'" title="'.get_field("ploschad",$pr_id).'">
<div class="caption-prodj">
<div class="logo-prodj"></div>
<div class="m2-prodj">B7462</div>
<div class="nomer-prodj">'.get_field("ploschad",$pr_id).' м<sup>2</sup>
</div>
<div class="level-prodj">'.get_field("n_flour",$pr_id).'</div>
<div class="pricep-prodj">Проект: <span>'.get_field("project_price",$pr_id).' руб</span></div>
<div class="build-prodj">Строительство: <span>'.get_field("build_price",$pr_id).' руб</span></div>
</div>
</a>
</div>
</div>' ;
$count_small++;
if ($count_small == 3) {
echo '</div>';
echo '</div>';
echo '</div>';
echo '<div class="row items cub">';
}
}
$count++;
}
?>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12 content">
<?php echo get_field('bottom_text',get_queried_object_id()); ?>
</div>
</div>
</div>
Виртуальный выделенный сервер (VDS) становится отличным выбором
При запуске приложения с консоли выдает следующую ошибку
Если учитывать пробелы, то минимум, что получилось у меня:
У меня есть строка, типа QString, которая содержит запись вида Some text COM5 some_text, число после COM в диапазоне от 1 до 255Как мне взять подстроку COM123?