Как создать ссылку на элемент в PHP?

Привет всем! У меня есть сайт на WordPress с установленным плагином для произвольных полей, и есть следующий PHP-код (смотрите ниже), который выводит определенные блоки (скриншот прикреплен). Мне нужно, чтобы "стрелочка" имела такие же ссылки, как и заголовок. Я хочу, чтобы элемент с классом 'item-link' также получил эту ссылку. Я не силен в PHP, поэтому прошу прощения за возможную запутанность вопросов. Сайт — manana.fun (блоки находятся на главной странице, в разделе "Дизайн"). <br/> <pre><code class="php">&lt;div class="product__content-item"&gt;
            &lt;ul class="product__design-list"&gt;
                &lt;?php foreach ($spisok2_1 as $spisok2_1_item) { ?&gt;
                  &lt;li class="product__design-item design-item &lt;?php echo(trim($spisok2_1_item['ссылка']) != '' ? 'item-link' : ''); ?&gt;"&gt;
                    &lt;a href="&lt;?= $spisok2_1_item['ссылка']; ?&gt;" class="design-item__link"&gt;&lt;?= $spisok2_1_item['заголовок']; ?&gt;&lt;/a&gt;
                    &lt;p class="design-item__description"&gt;&lt;?php echo strip_tags($spisok2_1_item['текст']); ?&gt;&lt;/p&gt;
                  &lt;/li&gt;
                &lt;?php } ?&gt;
                &lt;?php foreach ($spisok2_1_banner as $banner) { ?&gt;
                  &lt;li class="product__design-item design-item"&gt;
                    &lt;div class="storage-item__image"&gt;
                      &lt;img src="&lt;?= $banner['картинка']['url']; ?&gt;" alt="&lt;?= $banner['картинка']['alt']; ?&gt;" width="560" height="216"&gt;
                    &lt;/div&gt;
                    &lt;a href="&lt;?= getLinkOrModalHref($banner['ссылка']); ?&gt;" class="design-item__portfolio-link &lt;?= getLinkOrModalClass($banner['ссылка']); ?&gt;"&gt;&lt;?= $banner['текст_ссылки']; ?&gt;&lt;/a&gt;
  • 19 марта 2025 г. 14:04
Ответы на вопрос 2
Чтобы сделать так, чтобы элемент с классом `item-link` имел ту же ссылку, что и заголовок, вы можете просто добавить ссылку в тег, который соответствует этому элементу. В вашем коде нужно изменить структуру представления списка и добавить ссылку в нужное место.

Вот как можно изменить ваш код:

```php
<div class="product__content-item">
    <ul class="product__design-list">
        <?php foreach ($spisok2_1 as $spisok2_1_item) { ?>
            <li class="product__design-item design-item <?php echo(trim($spisok2_1_item['ссылка']) != '' ? 'item-link' : ''); ?>">
                <a href="<?= $spisok2_1_item['ссылка']; ?>" class="design-item__link"><?= $spisok2_1_item['заголовок']; ?></a>
                <p class="design-item__description"><?php echo strip_tags($spisok2_1_item['текст']); ?></p>
                <?php if (trim($spisok2_1_item['ссылка']) != '') { ?>
                    <a href="<?= $spisok2_1_item['ссылка']; ?>" class="design-item__arrow">→</a>
                <?php } ?>
            </li>
        <?php } ?>
        <?php foreach ($spisok2_1_banner as $banner) { ?>
            <li class="product__design-item design-item">
                <div class="storage-item__image">
                    <img src="<?= $banner['картинка']['url']; ?>" alt="<?= $banner['картинка']['alt']; ?>" width="560" height="216">
                </div>
                <a href="<?= getLinkOrModalHref($banner['ссылка']); ?>" class="design-item__portfolio-link <?= getLinkOrModalClass($banner['ссылка']); ?>"><?= $banner['текст_ссылки']; ?></a>
            </li>
        <?php } ?>
    </ul>
</div>
```

### Объяснение изменений:
1. **Добавление ссылки для стрелочки**: Я добавил условие, чтобы показывать стрелочку (ссылку) только если `ссылка` не пустая. Стрелочка будет вести на те же адреса, что и заголовок.
2. **Выровненные блоки**: Структура HTML осталась так же упорядоченной, что важно для поддерживаемости и эстетической части вашего кода.

Теперь элементы с классом `item-link` будут иметь ссылку в виде стрелочки, так же как и заголовки. Если у вас есть какие-то дополнительные требования или вопросы, не стесняйтесь спрашивать!
Сейчас они выводятся через стили CSS, чтобы их сделать полноценными ссылками сначала их нужно реализовать через элементы DOM
Похожие вопросы