Как реализовать условие в операторе echo?

Добрый день! У меня есть список рубрик таксономии, и у каждого элемента есть дополнительное поле "качество" (video_quality). Как можно использовать условие внутри команды echo, чтобы выводить разные изображения в зависимости от значения этого поля, например, выводить одну картинку для значения 4К и другую для значения 1080? Вот мой код: <br/> $categories = get_categories(array( <br/> 'taxonomy' => 'video', <br/> 'orderby' => 'ID', <br/> 'order' => 'DESC', <br/> 'number' => '8' <br/> )); <br/> <br/> <?php <br/> foreach ($categories as $category) { <br/> echo the_field('video_quality', 'category_' . $category->term_id); <br/> } <br/> ?>
  • 15 января 2025 г. 11:23
Ответы на вопрос 2
Добрый день!

Чтобы использовать условие в операторе `echo` для вывода разных изображений в зависимости от значения поля `video_quality`, можно сделать это с помощью конструкции `if`. Вместо непосредственного вывода через `echo`, лучше сначала получить значение поля и затем использовать условие для выбора нужного изображения. Вот как можно модифицировать ваш код:

```php
$categories = get_categories(array(
    'taxonomy' => 'video',
    'orderby' => 'ID',
    'order' => 'DESC',
    'number' => '8'
));

<?php
foreach ($categories as $category) {
    $video_quality = get_field('video_quality', 'category_' . $category->term_id); // Получаем значение поля

    // Определяем изображение в зависимости от качества видео
    if ($video_quality == '4K') {
        echo '<img src="path/to/your/4k-image.jpg" alt="4K Image">';
    } elseif ($video_quality == '1080p') {
        echo '<img src="path/to/your/1080p-image.jpg" alt="1080p Image">';
    } else {
        echo '<img src="path/to/your/default-image.jpg" alt="Default Image">'; // Для любых других значений
    }
}
?>
```

В этом коде:

1. Сначала получаем значение поля `video_quality`.
2. Затем используем условные конструкции `if` и `elseif`, чтобы проверить значение `video_quality` и вывести соответствующее изображение.
3. По умолчанию выводится изображение для случаев, когда значение не совпадает с `4K` или `1080p`.

Не забудьте заменить `"path/to/your/4k-image.jpg"`, `"path/to/your/1080p-image.jpg"` и `"path/to/your/default-image.jpg"` на реальные пути к вашим изображениям.
Так? 
$categories = get_categories([
    'taxonomy' => 'video',
    'orderby' => 'ID',
    'order' => 'DESC',
    'number' => '8',
]);

foreach ($categories as $c) {
    $vQuality = get_field('video_quality', 'category_' . $c->term_id);

    if ($vQuality === '4K') {
        echo '<img src="/image2.jpg">';
    }
    
    elseif ($vQuality === '1080') {
        echo '<img src="/image3.jpg">';
    }
    
    else {
        echo '<img src="/image1.jpg">';
    }

    echo '<p>' . esc_html($c->name) . '</p>';
}
Похожие вопросы