Здравствуйте, есть цикл, который выводит изображение
<?php if ( ! empty( $atts['works'] ) ): ?>
<?php foreach ( $atts['works'] as $work):?>
<?php for($i=0; $i<count($work); $i++):?>
<li class="gallery-item">
<a href="<?=$work[$i]['url']?>" data-fancybox="gallery" class="gallery-link">
<img src="<?=$work[$i]['url']?>" alt="">
</a>
</li>
<?php endfor;?>
<?php endforeach;?>
<?php endif; ?>
Мне нужно среди этих изображений вставить кастомный блок, ссылку без изображения . Вот такой
<li class="gallery-item">
<a href="#custom-link" class="gallery-link">
text
</a>
</li>
Как это можно сделать?
Вы только недавно начали изучение языка и не понимаете основные конструкции? Поставьте внутри цикла проверку if( $i == 3) и выводите свой блок (будет после четвёртого элемента выводится).
<?php if ( ! empty( $atts['works'] ) ): ?>
<?php foreach ( $atts['works'] as $work):?>
<?php for($i=0; $i<count($work); $i++):?>
<li class="gallery-item">
<a href="<?=$work[$i]['url']?>" data-fancybox="gallery" class="gallery-link">
<img src="<?=$work[$i]['url']?>" alt="">
</a>
</li>
<?php if ( $i == 3 ): ?>
<li class="gallery-item">
<a href="#custom-link" class="gallery-link">text</a>
</li>
<?php endif; ?>
<?php endfor;?>
<?php endforeach;?>
<?php endif; ?>
Или так:
Вы только недавно начали изучение языка и не понимаете основные конструкции? Поставьте внутри цикла проверку if( $i == 3) и выводите свой блок (будет после четвёртого элемента выводится).
<?php if ( ! empty( $atts['works'] ) ): ?>
<?php foreach ( $atts['works'] as $work):?>
<?php for($i=0; $i<count($work); $i++):?>
<li class="gallery-item">
<?php if ( $i == 3 ): ?>
<a href="#custom-link" class="gallery-link">text</a>
<?php else: ?>
<a href="<?=$work[$i]['url']?>" data-fancybox="gallery" class="gallery-link">
<img src="<?=$work[$i]['url']?>" alt="">
</a>
<?php endif; ?>
</li>
<?php endfor;?>
<?php endforeach;?>
<?php endif; ?>
Как вариант можно попробовать разделить массив на 2 равные части и вставить между ними вашу заглушку, получилось что-то вот такое:
<?php if( ! empty( $atts['works'] ) ): ?>
<?php foreach ( $atts['works'] as $works):?>
<?php list($leftWorks, $rightWorks) = array_chunk($works, ceil(count($works) / 2)); ?>
<?php foreach ($leftWorks as $work):?>
<li class="gallery-item">
<a href="<?=$work['url']?>" data-fancybox="gallery" class="gallery-link">
<img src="<?=$work['url']?>" alt="">
</a>
</li>
<?php endforeach;?>
<li class="gallery-item">
<a href="#custom-link" class="gallery-link">
text
</a>
</li>
<?php foreach ($rightWorks as $work):?>
<li class="gallery-item">
<a href="<?=$work['url']?>" data-fancybox="gallery" class="gallery-link">
<img src="<?=$work['url']?>" alt="">
</a>
</li>
<?php endforeach;?>
<?php endforeach;?>
<?php endif; ?>
Обратите внимание что тут используется дубляж для массивов $leftWorks
и $rightWorks
, желательно вынести этот цикл чтобы не было повторений.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Разработал форму для отправки писем на почту посредством ajax и все бы ничего, но на почту приходит пустое письмоСкрипт отправки js такой:
Задача: Есть три клиента которые подключаются к веб-серверу параллельноОбработка запросов от всех трех клиентов абсолютно разная
Есть ли принципиальная разница как обращаться к членам класса внутри методов этого же класса: через методы или напрямую? У меня сложилось...