Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 6

Как сделать, чтобы при нажатии на миниатюру ссылка вела на саму картинку миниатюры

14.08.2015, 10:55. Показов 4226. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста. В php я ни чего не понимаю. Стоит задача, чтобы из каталога при нажатии на картинку миниатюры ссылка вела на запись. И Второе, уже непосредственно в самой записи при нажатии на миниатюру открывалась картинка полным размером в новом окне.

Первое я с горем попала решил, добавив в файл category.php код:
PHP
1
<a class="post-link" href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'post-thumb' ); ?></a>
А вот в самом файле одной записи single.php не пойму как вывести url картинки миниатюры.
Пробовал вот так:
PHP
1
2
3
4
5
6
7
8
<?php
 if ( has_post_thumbnail()) {
   $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large');
   echo '<a href="' . $large_image_url[0] . '" title="' . the_title_attribute('echo=0') . '" >';
   the_post_thumbnail('thumbnail');
   echo '</a>';
 }
 ?>
Но от чего то, он сжимает саму картинку до размера 50х50 и как это исправить не знаю. Хотя в настройках медиафайлов Размер миниатюры стоит нужный 260х180.

И еще, у меня несколько миниатюр на до чтобы по аналогии при нажатии на вторую, третью и тд ссылки вели на картинку этой миниатюры в новом окне.
Вывожу я остальные миниатюры вот таким кодом:
PHP
1
2
3
4
5
<?php
if (class_exists('MultiPostThumbnails')) :
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0');
endif;
 ?>
Как все таки мне найти url этих картинок?
В идеале, я думаю, должно быть как-то так:
PHP
1
2
3
<a href="<?php КАКОЙ-ТО КОД ДАЮЩИЙ МНЕ URL КАРТИНКИ ?>" target="_blank">
<?php the_post_thumbnail ('post-thumb'); ?>
</a>
Но ка вывести не шарю(((
Заранее благодарен за любую помощь!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2015, 10:55
Ответы с готовыми решениями:

Как сделать миниатюру, чтобы при нажатии разворачивалась на максимум
она при нажатии разворачивалась на максимум (как здесь)?

Как сделать чтобы при нажатии на картинку играла музыка
Как зделать чтобы при нажатии на картинку играла музыка. зарание спасибо

Как сделать так чтобы при нажатии на картинку на ее месте появлялась другая
Как сделать так чтобы при нажатии на картинку на ее месте появлялась другая через четыре секунды

15
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
15.08.2015, 11:28
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

Цитата Сообщение от 4433555 Посмотреть сообщение
Но от чего то, он сжимает саму картинку до размера 50х50
потому, что
PHP
1
the_post_thumbnail('thumbnail');
возможные варианты
- thumbnail
- medium
- large
- full
или массивом из двух элементов (ширина и высота картинки): array(32, 32)

Либо свой зарегистрированный размер
1
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 6
19.08.2015, 06:50  [ТС]
hardwaremaster,
Отлично! Спасибо огромное! Получилось. УРА!

А как ссылки на дополнительные миниатюры прописать?
они у меня вот так выводятся:
PHP
1
2
3
4
5
<?php
if (class_exists('MultiPostThumbnails')) :
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0');
endif;
 ?>
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
19.08.2015, 10:37
Я никогда не пользовался этим плагином, но могу предположить что как-то так
PHP
1
MultiPostThumbnails::get_post_thumbnail_url(get_post_type(), 'secondary-image0');
0
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 6
19.08.2015, 11:13  [ТС]
hardwaremaster,
Я никогда не пользовался этим плагином
Это не плагин, я просто дополнительные миниатюры добавил прописав в functions.php
PHP
1
2
3
4
5
6
7
if (class_exists('MultiPostThumbnails')) {
new MultiPostThumbnails(array(
'label' => 'Secondary Image0',
'id' => 'secondary-image0',
'post_type' => 'post'
 ) );
  }
и вывожу в single.php
PHP
1
2
3
4
5
<?php  
if (class_exists('MultiPostThumbnails')) :  
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0'); 
endif; 
 ?>
вот таким образом.

И мне надо там тоже ссылку прописать, чтобы при нажатии на нее, открывалась картинка в новом окне.
Пробовал сделать как ты подсказал
PHP
1
2
3
4
5
6
7
<a href="<?php MultiPostThumbnails::get_post_thumbnail_url(get_post_type(), 'secondary-image0'); ?>" target="_blank">
<?php  
if (class_exists('MultiPostThumbnails')) :  
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0'); 
endif; 
 ?>
</a>
Но ссылка ведет не на картинку а на саму запись. Как мне все таки ссылать ее на картинку?
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
19.08.2015, 11:27
PHP
1
2
3
$imgid = MultiPostThumbnails::get_post_thumbnail_id(get_post_type(), secondary-image0');
$imgurl = wp_get_attachment_image_src($imgid, 'full');
$imgurl[0]
не пробовал, но должно работать
0
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 6
19.08.2015, 12:17  [ТС]
hardwaremaster,
Это куда вставлять?
PHP
1
2
3
$imgid = MultiPostThumbnails::get_post_thumbnail_id(get_post_type(), secondary-image0');
$imgurl = wp_get_attachment_image_src($imgid, 'full');
$imgurl[0]
Я в php чайник((( Вставил вот так:

PHP
1
2
3
4
5
6
7
8
9
<a href="<?php $imgid = MultiPostThumbnails::get_post_thumbnail_id(get_post_type(), secondary-image0');
$imgurl = wp_get_attachment_image_src($imgid, 'full');
$imgurl[0] ?>" target="_blank">
<?php  
if (class_exists('MultiPostThumbnails')) :  
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0'); 
endif; 
 ?>
</a>
Вообще ни чего не заработало((( Я тебе наверное уже надоел, но подскажи, пожалуйста полный код, или куда прописывать.
0
 Аватар для hardwaremaster
307 / 307 / 142
Регистрация: 12.02.2014
Сообщений: 1,165
Записей в блоге: 1
19.08.2015, 12:21
Цитата Сообщение от 4433555 Посмотреть сообщение
$imgid = MultiPostThumbnails::get_post_thumbnail_ id(get_post_type(), secondary-image0');
$imgurl = wp_get_attachment_image_src($imgid, 'full');
это вставлять в запись, в $imgurl[0] должен хранится урл картинки.
т.е. <a href="<?php echo $imgurl[0]; ?>"><img src="<?php echo $imgurl[0]; ?>" alt="" /></a>
к примеру так, нужно пробовать я не пробовал в действии.
0
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 6
28.08.2015, 13:14  [ТС]
hardwaremaster,
Все! Окончательно запутался((( Перечитал кучу всего, перепробовал методом научного тыка по разному, но макс чего добился, чтобы ссылка вела на пост а не на картинку(((

Еще раз. Я добавил дополнительную миниатюру в functions.php
PHP
1
2
3
4
5
6
7
if (class_exists('MultiPostThumbnails')) {
new MultiPostThumbnails(array(
'label' => 'Secondary Image0',
'id' => 'secondary-image0',
'post_type' => 'post'
 ) );
  }
и вывожу в записи эту картинку в single.php
PHP
1
2
3
4
5
<?php  
if (class_exists('MultiPostThumbnails')) :  
MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0'); 
endif; 
 ?>
Что и куда мне конкретно писать чтобы чтобы при нажатии на эту дополнительную картинку у меня эта картинка открывалась в новом окне! Только картина! Не пост!
...у меня сейчас мозг взорвется(((
0
5 / 5 / 1
Регистрация: 30.05.2014
Сообщений: 40
02.09.2015, 17:41
Сам запарился почти с такой же задачей.
Вот решение твоей задачи,автор:
PHP
1
2
3
4
5
6
7
8
9
 <?php
 if ( has_post_thumbnail()) {
    $imgid = get_post_thumbnail_id();
    $imgurl = wp_get_attachment_image_src($imgid, 'large');
    echo '<a rel="'.simplebox.'" href="'.$imgurl[0].'" title="' . the_title_attribute('echo=0') . '" >';
    if (class_exists('MultiPostThumbnails')):MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); endif; /*здесь уже подставляешь свое. Меняешь 'secondary-image' на свои названия*/
    echo '</a>';
 }
 ?>
0
0 / 0 / 0
Регистрация: 14.08.2015
Сообщений: 6
04.09.2015, 11:47  [ТС]
Jaller, Блин, работает но почти, у меня почему то, вместо 2ой, 3ей и тд миниатюры, открывает главную миниатюру, хотя в строке:
PHP
1
if (class_exists('MultiPostThumbnails')):MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image0'); endif;
я менял на свое. Чувствую, что чуток где-то поменять надо, но где?
0
 Аватар для ТВалерий
3 / 3 / 0
Регистрация: 07.07.2014
Сообщений: 128
05.09.2015, 16:51
Друзья. Я так и не понял прочитав ваши обсуждения и советы по вложению картинок на форуме. Может речь идет не о том, о чем я думаю. Если кто-то из вас знает способ загрузки скринов или RGHostов подскажите. Или по этой проблеме есть отдельная тема? Бывает что для облегчения вопроса и чтобы было понятно собеседнику без скринов не обойтись. А вообще-то можно отсылать картинки RGHost на форум? Мне где-то писали и делали замечиние о том, что надо скрывать картинки с помощью скрепки. Но у меня и это не получается.
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
05.09.2015, 19:40
ТВалерий, как загрузить картинку на форум
Кликните здесь для просмотра всего текста
0
 Аватар для ТВалерий
3 / 3 / 0
Регистрация: 07.07.2014
Сообщений: 128
05.09.2015, 19:50
Taatshi, читал и не раз. Пробовал загрузить картинку на форум, вложение идет, но когда открываю предварительный просмотр, то картинка, а не вложение в сообщении появляется. И сколько раз не пробовал результат один и тот же.

За замечание спасибо.
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
06.09.2015, 13:45
ТВалерий, а зачем Вам картинка вложением?
0
 Аватар для ТВалерий
3 / 3 / 0
Регистрация: 07.07.2014
Сообщений: 128
06.09.2015, 15:22
Taatshi , так проще сделать скриншот для того, чтобы предметно, а не словесно общаться на форуме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.09.2015, 15:22
Помогаю со студенческими работами здесь

Как сделать, чтобы при нажатии на ссылку, ссылка пропадала, а у меня было, видно, что я на неё нажал?
Здравствуйте, вопрос такой.У меня есть много ссылок я пользователь под именем user, как сделать так что бы при нажатии на ссылку мной,...

Как сделать при нажатии на кнопку, карточку активным, а при нажатии на саму карточку, уже не активной
Кароче, у меня есть карточка и в ней кнопка, при нажатии на кнопку должен добавиться класс с фильтром,(т.е. карточка теперь активная) а...

Как сделать, чтобы при первом нажатии на кнопку TButton появлялось одно сообщение, а при втором нажатии - другое?
помогите как сделать в чтобы в кнопке button при первом нажатий вылазило сообщение ShowMessage('Вы ввели неверные данные, повторите...

Как сделать всплывающее окошко при нажатии на картинку
Необходимо сделать чтобы на странице, при нажатии на картинку выскакивало вот такое окошко как на скриншоте: Проблема в том, что я не...

Memo в delphi / как сделать так чтобы при нажатии на кнопку memo появляется, при повторном нажатии исчезает
как сделать так чтобы при нажатии на кнопку текст с memo появляется, при повторном нажатии исчезает - как сделать так чтобы при нажатии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru