@freeman0204

Как обернуть img ссылкой в данном случаи?

Есть такой код:
Для вывода всех изображений из контента поста можете воспользоваться следующим кодом:
$szPostContent = get_the_content();
$szSearchPattern = '~<img [^\>]*\ />~';
// Запускаем preg_match_all для сохранения всех изображений в $aPics
preg_match_all($szSearchPattern, $szPostContent, $aPics);
// Проверяем на количество
$iNumberOfPics = count($aPics[0]);
if ($iNumberOfPics > 0) {
// Здесь мы решаем, что делать с изображениями
// В этом примере мы их просто показываем
for ($i = 0; $i < $iNumberOfPics; $i++) {
echo $aPics[0][$i];
};
};
if ($iNumberOfPics < 4) {
for ($i = 0; $i < (4 - $iNumberOfPics); $i++) {
echo '<img src="' . get_template_directory_uri() . '/img/auto_none.png" >';
}
}


Изображения выводятся в админке вп в галерее.
Я хочу сделать что бы при нажатии на картинку она увеличивалась (лайтбокс). Для этого мне нужно обернуть картинку в ссылку и дать ссылке href такой же как и у картинки, плагин для лайтбокс у меня стоит.
Если обернуть в админке ссылкой то в коде (смотрю через диспетчер) нет никакой ссылки. Может ее нужно как то добавить в этот php код?

echo '<div class="item"><a href="" rel="fancybox" class="fancybox swipebox">';
 echo $aPics[0][$i];
echo '</a></div>';


Ссылку сделать получилось с классами но картинки не отображаются . Как сделать что бы на каждой картинке отображалась соответствующая увеличенная картинка?
  • Вопрос задан
  • 870 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mister8891
echo '<div class="item"><a href="" rel="fancybox" class="fancybox swipebox">'.$aPics[0][$i].'</a></div>'

Вот так Вы пробовали и не работает?
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Не обязательно получать контент в переменную и обрабатывать данные в ней. Есть фильтр the_content для этого.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы