Здравствуйте, дорогие форумчане. Подскажите, пожалуйста, никогда не знает, как можно реализовать миниатюры, как в интернет-магазинах?
Woovommerce, например, по умолчанию дает возможность добавлять список миниатюр. Хотелось бы Реализовать что-то подобное, но с WP-RECALL
Я пробовал сделать несколько миниатюр с помощью MultiPostThumbnails и попытался сделать их кликабельными, чтобы увеличивались по клику:
Вы не можете просматривать опубликованные ссылки
Но в качестве ссылки подключается только стоковая миниатюра, а дополнительные в упор не видит.
Нужно другое решение, либо правки моего франкенштейна)
Андрей Plechev сказал(а)
не знаю класса MultiPostThumbnails, поэтому только предположение.
Может следует в метод the_post_thumbnail() первым аргументом передавать идентификатор публикации, а не ее тип?
the_post_thumbnail($post->ID,'secondary-image')
а, только сейчас дошло, что требуется)
ну так вы в коде и оборачиваете все только одной ссылкой на главную миниатюру, надо как то оборачивать каждое формируемое через the_post_thumbnail().
Надо смотреть код метода the_post_thumbnail(), возможно там есть какой то фильтр через который можно обернуть формируемое изображение своей ссылкой.
Так вот я и ломаю голову, как и что изменить, чтобы внутрь передавалась ссылка на каждое дополнительное изображение.
function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
echo get_the_post_thumbnail( null, $size, $attr );
}
Код, я так понимаю, вот этот. Только что дальше без понятия...
Если приведенное содержимое метода верное, то все проще чем казалось.
Можно использовать фильтр post_thumbnail_html, через который можно получить четыре переменные $html, $post_id, $post_thumbnail_id, $size, $attr
Используя эти данные вы можете получить хтмл код сформированных изображений и обернуть его во что угодно.
Надеюсь фильтрами пользоваться умеете?
как то так должно получиться:
add_filter('post_thumbnail_html','add_link_post_thumbnail',10,5); function add_link_post_thumbnail($html, $post_id, $post_thumbnail_id, $size, $attr){ $src = wp_get_attachment_image_src($post_thumbnail_id,'full'); return '<a href="'.$src[0].'" class="simplebox">'.$html.'</a>'; }