Условное заявление с несколькими условиями?

Я настроил пользовательский цикл для вывода сообщений из созданного мной раздела ресурса с пользовательским типом сообщений. Каждый отдельный ресурс был классифицирован в рамках двух разных таксономий: одна для клинической области, о которой идет речь, а другая - для типа ресурса. Термины клинической области выводятся в виде списка терминов, и это хорошо. Однако я хочу, чтобы тип ресурса отображался в виде значков (из Font Awesome). Я заставил его работать, если только один термин типа ресурса проверен с помощью:

    <?php if(has_term('webinar', 'type')) : ?>      <i class="fa fa-desktop" aria-hidden="true"></i>    <?php elseif(has_term('report', 'type')) : ?>      <i class="fa fa-file-text-o" aria-hidden="true"></i>    <?php elseif(has_term('video', 'type')) : ?>      <i class="fa fa-youtube-play" aria-hidden="true"></i>    <?php elseif(has_term('past-project', 'type')) : ?>      <i class="fa fa-cogs" aria-hidden="true"></i>    <?php elseif(has_term('meeting-material', 'type')) : ?>      <i class="fa fa-users" aria-hidden="true"></i>    <?php elseif(has_term('info-sheet', 'type')) : ?>      <i class="fa fa-info-circle" aria-hidden="true"></i>    <?php else : ?>      <i class="fa fa-link" aria-hidden="true"></i>    <?php endif; ?>

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

Поэтому мой вопрос заключается в том, есть ли у меня какой-либо способ установить это как сценарий IF /AND, не создавая кучу пользовательских has_term (массив («вебинар», «отчет»), «тип») -типы типа?

Ответы и комментарии:

Джейкоб, ты чертовски гений. Большое спасибо за этот четкий и краткий ответ!
Создан 06-03-2018 06:32 Connie

Во-первых, создайте некоторую связь между классом иконки и именем термина:
$ icons = array (
    'webinar' => 'fa-desktop',
    'report' => 'fa-file-text-o',
    'video' => 'fa-youtube-play',
    'past-project' => 'fa-cogs',
    'meeting-material' => 'fa-users',
    'info-sheet' => 'fa-info-circle',
);

Затем переберите каждый термин, назначенный посту, и выведите соответствующий значок:
$ term = get_the_terms (get_the_ID (), 'type');

if ($ Terms &&! is_wp_error ($ Terms)) {
    foreach ($ term как $ term) {
        $ class = isset ($ icons [$ term-> slug])? $ icons [$ term-> slug]: 'fa-link';

        echo ' i>';
    }
}
Создан 06-03-2018 05:48 Jacob Peattie15k41826