Как добавить в код если нет записи совпадающая с тремя параметрами выводить строку нет записи?

Получаю данные из выбранных чекбоксов для фильтрации записей. Не знаю как задать если нет записи которая бы соответствовала всем трем параметрам вывести например "нет записи"
<?php	if(isset($_GET['Intel']) && ($_GET['Intel'] == 'Yes') and ($_GET['AMD']) &&  ($_GET['AMD'] == 'Yes') and ($_GET['s775']) &&  ($_GET['s775'] == 'Yes')) 
			{ ?>
					<!-- -->
				<?php	echo('Intel, AMD, s775' ); ?>
						<?php
						$true_args = array(
							'meta_query' => array(
								array(
									'key' => 'soket_processor_pc',
									'value' => 's775'
								)
							)
						);
						$true_args = array(
							'meta_query' => array(
								array(
									'key' => 'manufacturer_processor_pc',
									'value' => 'intel'
								)
							)
						);
						$true_args = array(
							'meta_query' => array(
								array(
									'key' => 'manufacturer_processor_pc',
									'value' => 'amd'
								)
							)
						);
						$true_query = new WP_Query( $true_args );
						?>
		<?php	}  ?>
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
glaphire
@glaphire
PHP developer
<?php
    $intel = (isset($_GET['Intel']) && $_GET['Intel'] == 'Yes') ? $_GET['Intel'] : false;
    $amd = (isset($_GET['AMD']) && $_GET['AMD'] == 'Yes') ? $_GET['AMD'] : false;
    $s775 = (isset($_GET['s775']) && $_GET['s775'] == 'Yes') ? $_GET['AMD'] : false;

    if ($intel && $amd && $s775) :
?>
    <!-- -->
<?php	echo('Intel, AMD, s775' ); ?>
<?php
$true_args = array(
    'meta_query' => array(
        array(
            'key' => 'soket_processor_pc',
            'value' => 's775'
        )
    )
);
$true_args = array(
    'meta_query' => array(
        array(
            'key' => 'manufacturer_processor_pc',
            'value' => 'intel'
        )
    )
);
$true_args = array(
    'meta_query' => array(
        array(
            'key' => 'manufacturer_processor_pc',
            'value' => 'amd'
        )
    )
);
$true_query = new WP_Query( $true_args );
?>
    <div>some posts from true query</div>
<?php else: ?>
    <div>"no posts"</div>
<?php	endif;  ?>

Позволю сделать пару замечаний по коду, которые я исправила)
1. Если условие if разрывается версткой - используйте сахар if(): ... endif;
2. && и and - не одно и тоже, лучше явно использовать && - ссылка по теме
3. Длинные условия плохо читаются и рефакторятся, выносите их вычисление в переменные
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы