Здравствуйте, есть цикл, который выводит изображение
<?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, желательно вынести этот цикл чтобы не было повторений.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости