Создание снимков сайтов с помощью WordPress.com mShots
Существует множество сайтов, которые предоставляют возможность делать снимки (скриншоты) сайтов. К сожалению, практически все такие ресурсы платные в той или иной мере (бесплатное использование подразумевает или редкое обновление снимков или рекламу ресурса в виде "водяных знаков" на скриншоте). Мало кто знает, но на WordPress.com есть свой собственный сервис снятия снимков под названием "WordPress.com mShots". Для блогов на движке WordPress можно реализовать простенький шорткод, с помощью которого можно легко вставить снимок любого сайта в нужное вам место в блоге.
Добавьте в файл functions.php вашего шаблона код:
//создание скриншотов для сайтов start function my_mshot($atts, $content = null) { extract(shortcode_atts(array( "mshot" => 'http://s.wordpress.com/mshots/v1/', "url" => 'http://www.wordpressplugins.ru', "alt" => 'Скриншот сайта', "title" => '', "w" => '200', "h" => '' ), $atts)); if ($title == '') $title = $alt; $img = '<img class="mshots" src="' . $mshot . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" width="' . $w . '" alt="' . $alt . '" title="' . $title . '" />'; return $img; } add_shortcode("mshot", "my_mshot"); //создание скриншотов для сайтов end |
Использовать данный шорткод очень просто, для этого добавьте в запись в html-режиме редактора код:
[mshot url="http://www.site.ru/" alt="Здесь alt и title" w="200" h="150"] |
Где url указывает на урл сайта, alt указывает на alt и title картинки (title можно задать отдельно), а w и h это ширина и высота скриншота в пикселях.
Указывать одновременно и высоту и ширину картинки бессмысленно, так как сервис всегда делает снимки высотой в 3/4 от ширины. То есть если вы указали ширину скриншота в 200 пикселей, то высота будет 150 пикселей независимо от указанного вами размера. Достаточно указать лишь один параметр картинки – второй будет вычислен автоматом по этой формуле.
Картинкам присваивается класс "mshots", с помощью которого можно оформить выводимые снимки сайтов. Например, добавьте в styles.css шаблона код:
.mshots{ border-radius: 5px; border: 1px solid rgba(0, 0, 0, 0.2); box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15); } |
В результате снимки будут окружены закругленным бордером с тенью. Конечно, данный css-код необязателен, но очень желательно использовать видимую границу у снимка, так как многие сайты используют белый фон и, в результате этого, ваш снимок сайта может сливаться с окружающим текстом.
В репозитории WordPress.org есть несколько плагинов, которые делают практически то же самое, что и указанный выше код – но, к сожалению, несмотря на всю свою простоту, у них есть некоторые недоработки, которые исправлять было бы напрасной тратой времени – проще уж сразу реализовать данный функционал через добавление шорткода в functions.php шаблона.
При первом снятии скриншота сайта вы можете увидеть что-то типа:
Эта картинка будет отображаться, пока сервис генерирует скриншот сайта. Генерация снимка может длиться до минуты, но зачастую это происходит быстрее. Уже при следующем обновлении страницы вы увидите актуальный снимок сайта. В дальнейшем снимки сайта будут обновляться автоматически. Я не знаю с какой периодичностью, но на глаз - как минимум, раз в сутки.
Данный сервис идеален для реализации страниц ссылок на сайте. В качестве примера загляните на страницу "Ссылки" в этом блоге – все снимки сайтов на ней сделаны именно с помощью "WordPress.com mShots".
Понравился пост? Подпишись на обновления по RSS или Twitter !
500pokupok.com 500pokupok.com | Інфо портал дослідницькі статті та експерименти інфо портал цифрові хроніки optimize-il.com |
#1,
А страница с ссылками тормозить не будет? Пока все картинки сгенерятся...
#2,
если снимка нет - будет выведена заглушка (в статье есть скриншот), а уже при следующем обновлении страницы выведется актуальный снимок сайта. никаких тормозов нет и быть не может в принципе.
#3,
Т.е. они генерятся сразу после установки и хранятся уже на сайте? Это хорошо!
#4,
они генерятся на wordpress.com, там хранятся и там же перегенерируются. вы просто выводите картинку, которая по сути хостится не у вас на сервере.
#5,
Хороший ход, мне нравится. Надо будет использовать!
#6,
Спасибо. Попробовал на демо сайте, работает быстро. Буду использовать.
#7,
На самом деле фишка не в том, что они платные. Фишка в том, что они становятся платными как только нагрузка по рендеру сайтов вырастает до определенного предела - это достаточно нагрузочное дело. Вот начнут массово выносить функцию за пределы вордпрессов и будет та же фигня.
Первое правило бойцовского клуба :)
#8,
Посмотрим, когда введут платность и как быстро после этого сделают несколько подобных сервисов, с разными ценами.
О, БК! )))))))))
#9,
Их уже 100500. Как и написал автор - либо медленные/с watermark, либо платные.
У вордпресса этот "предел" настанет не так скоро, как у других сервисов. Все же мощности намного большие. Но рано или поздно...
#10,
Классно оформлено, картинка в картинке. Зачет.
#11,
Интересный вариант, спасибо.
А вот вопрос - можно ли как то обработку урла внешнего сайта на php прикрутить?
Объясню - на сайте выводится в блоке ссылка на сторонний сайт. Эта ссылка может меняться. Соответственно должно меняться и в коде "www.site.ru"
что-то никак не придумывается красивое решение.
#12,
если вы ссылку вручную меняете, то почему бы и ссылку в шорткоде не поменять вручную?
если уж все хочется автоматизировать, то передавать в шорткод можно и не готовый урл, а переменную с ссылкой. но опять же, переменную надо где-то определить. короче, все зависит от того, как именно у вас все реализовано.
#13,
Не работает бордер, что делать в таком случае?
#14,
вы про css?
где не работает? в каком шаблоне, в каком браузере?
подробности пожалуйста.
#15,
А как добавит ссылку в скриншоте?
#16,
поправить код на что-то типа такого:
#17,
Даже не слышал о таком плагине. Очень интересно. Надо попробовать.
#18,
Спасибо, интересная статья.