Хаки WordPress - быстрый снимок чужого сайта
В данной статье вы найдете информацию, как сделать снимок чужого сайта с активной ссылкой в статьях на вашем блоге без применения плагинов. Делается все вставкой шорткода, что занимает порядка нескольких секунд. Для чего это нужно? Согласитесь, довольно удобно делать в гостевых постах подобное, когда не нужно грузить страничку очередной фотографией, предварительно ее обрабатывая. Кроме этого, подобное можно применять как дополнение к постовым.
Если Вы не любитель лазить по файлам шаблона и вставлять код в нужное место, то можете воспользоваться плагином Snap A Site, который выполняет аналогичную функцию. Решать Вам.
Для рациональных людей, кто не любит давать дополнительную нагрузку на свой сайт, я предлагаю следующее:
1. Открываем файл functions.php в шаблоне вашего сайта.
2. Вставляем перед закрывающим ?> (самый-самый конец файла) следующий код
// снимок сайта старт
function snapshot ($attributes, $content = '', $code = '') {
extract(shortcode_atts(array(
'url' => '',
'width' => 250,
), $attributes));
$imageUrl = shotsite ($url, $width);
if ($imageUrl == '') {
return '';
} else {
$image = '';
return '';
}
}
function shotsite ($url = '', $width = 250) {
if ($url != '') {
return 'http://s.wordpress.com/mshots/v1/' . urlencode(clean_url($url)) . '?w=' . $width;
} else {
return ''; }
}
add_shortcode('snap', 'snapshot');
// конец
Смотрим на 12 строку: если есть необходимость, то можно тегу a сделать rel="nofollow". Кроме этого задан класс class="snapsiteshot", что позволяет сделать свои настройки CSS (например рамку/бордюр вокруг). Статья Описание некоторых стилевых свойств CSS на примере в помощь.
3. В самой статье применяем следующий шорткод, который и будет отображать на сайте снимок другого сайта:
[snap url="https://mojwp.ru/" width="300px"]
где: url="https://mojwp.ru/" - указываете необходимый сайт/страничку, width="300px" - ширина картинки (высота автоматически подстроится).
В качестве примера:
Будут проблемы с кодом - пишите в комментарии, чтобы другие так же могли найти ответы на свои вопросы.