@EvgenyApMr

Как запустить поиск значения PHP?

Необходимо задать условие в зависимости от найденного в строке значения.

Есть такая простая конструкция по поиску у поста WP терминов, в моем случае - поиск ID категорий, в которые входит пост.
$terms_post = get_the_terms( $post->cat_ID , 'product_cat' );
foreach ($terms_post as $term_cat) {
$term_cat_id = ($term_cat->term_id);


На основе этих данных необходимо построить такую конструкцию

if (если в $term_cat_id встречается '18') 
  {echo 'Встречается 18, поздравляем!';}
else (если в $term_cat_id встречается '20')
  {echo 'В строке найдено 20, это тоже не плохо';}

и т.п.

in_array, array_search, strpos либо не работают, либо я не смог верно их применить.

Есть альтернативный вариант, но он выглядит как-то некрасиво. Может кто-то знает, как сделать норм?
$cats = 18;
if (has_term ($cats, 'product_cat', $product_id ) ) 
{echo 'Встречается 18, поздравляем!';}

$cats = 20;
if (has_term ($cats, 'product_cat', $product_id ) ) 
{echo 'В строке найдено 20, это тоже не плохо';}
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Альтернативный вариант вполне норм, так как has_term() внутри имеет кеширование и при множественной проверке не генерирует лишних запросов в БД
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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