Fancybox for Wordpress – красивые изображения и функциональный контент одним щелчком мыши
Fancybox for WordPress – интересный плагин для фреймворка jQuery, позволяющий быстро создавать красивые и удобные проекты. Он позволяет увеличивать картинку на сайте без перехода на пустую страницу, а также «связывать» изображения в единую галерею. Также имеется возможность прокрутки галереи с помощью колесика мыши. Кроме того Fancybox открывает модальное окно, в котором можно удобно просмотреть текст, swf-анимацию и прочее:

Что такое Fancybox?
Fancybox на базе JavaScript JQuery является инструментом, позволяющим производить масштабирование и повышать функциональность изображений, мультимедиа-элементов и HTML-контента на веб-страницах. Плагин имеет простую настройку и удобное подключение:

Инструкция по установке:
Скачайте плагин Fancybox и распакуйте его. Далее скопируйте файлы, включающие сценарий и стили. Обязательно убедитесь в наличии JS, CSS файлов на сервере и настройте пути в скриптах. Проверьте, загружена ли библиотека JQuery.
Примеры установки Fancybox-1.3.4
Скачиваем jquery.fancybox-1.3.4.zip распаковываем архив и устанавливаем себе в папку jquery.fancybox-1.3.4. Внутри находим папку Fancybox и заливаем ее на сервер. К примеру, в /wp-content/plugins/. Ее содержимое должно попасть сюда - ваш сайт.ru/wp-content/plugins/fancybox/.
Далее открываем файл functions.php, после чего добавляем такие строки:
function my_css() {
echo '<link rel="stylesheet" type="text/css" href="http://ваш сайт.ru/wp-content/plugins/fancybox/jquery.fancybox-1.3.4.css" media="screen" />'."n";
}
add_action('wp_head', 'my_css', 5);
if ( !is_admin() ) {
wp_enqueue_script('fancybox', '/wp-content/plugins/fancybox/jquery.fancybox-1.3.4.js', 'jquery', '1.3.4');
}
Сначала мы добавили шаблон сайта, а затем с помощью wp_enqueue_script (); добавили js-скрипт плагина, так чтобы он шел после основного jQuery.
Далее открываем файл header.php и перед </head> прописываем такой js-код вызова:
<script type="text/javascript">$(document).ready(function(){$('a[href^="http://ваш сайт.ru
/wp-content/uploads/"]:has(img)').fancybox({'hideOnCotentClick':true,'titleFromAlt':
true,'titlePosition':'outside','padding':'5','margin':'25'});});</script>
Очищаем кэш и перезагружаем страницу с картинками. Галерея Fancybox выводит на страницу все картинки, что очень удобно. Можно видеть сразу несколько изображений, перемещаясь по ним стрелками вперед-назад или прокручивая колесико мыши. Если нужно закрыть изображение, достаточно нажать на крестик.
Скачать последнюю версию плагина можно найти тут.
Зачем нужен Fancybox
Сегодня существуют разные «zoom» для изображений, но у каждого из них имеются свои недостатки. К примеру, Thickbox и Lightbox затемняют фон, слишком большие и не очень привлекательные, да и как такового «эффекта зума» они не дают. Не так давно Cabel из Panic создал довольно интересный плагин FancyZoom, однако весит он более 150 Кб и к тому же платный.
Появление FancyBox в этой ситуации стало настоящим чудом. Во-первых, плагин использует jQuery, который включается в стандартную поставку WordPress, во-вторых, весит всего 27 Кб:

Основные возможности Fancybox
К неоспоримым преимуществам плагина относят:
- Возможность выбора 1 из 3 эффектов открытия/закрытия бокса с изображением;
- Возможность выбора бокса в overlay (режиме наложения);
- Реализацию мини-галереи картинок на странице;
- Возможность просмотра галереи путем прокрутки колесика мыши;
- Возможность использования плагина для отображения в боксе swf-анимаций и простого текста;
- Возможность работы в режиме iframe (используется для открытия в боксе другого ресурса).
Параметры Fancybox позволяют без труда провести точную настройку и получить должный эффект.
Основные разновидности и версии Fancybox
Некоторые веб-мастера по-прежнему отдают предпочтение версии Fancybox 1.3.4. Без сомнения версия 2 круче, быстрее и легче, но в ней отсутствуют те функции, благодаря которым можно интегрировать скрипт без внесения изменения во все посты блога. Для тех, кто между старым, надежным и новым, функциональным выбирает второе, хочется отметить несколько наиболее заметных изменений.
В Fancybox 2 вас ждет:
- Расширенный набор вспомогательных функций;
- Возможность использования слайд-шоу;
- Высокая отзывчивость (всплывающие окна масштабируются в соответствии с размерами окна браузера);
- Новый эффект переходов между картинками в галерее;
- Использование CSS3 (скругление углов, тени и прочее);
- Обновление настроек:

Почему может не работать Fancybox?
Причин возникновения проблем в работе плагина может быть несколько.
Самыми распространенными из них считаются:
- Конфликт скриптов Fancybox с другими скриптами (к примеру с PrestaShop);
- Наличие ошибок Javascript в браузере;
- Ошибка шаблона.
Не работает Fancybox и по причине блокировки плагина брандмауэром, антивирусом или блокировщиком рекламы.
Основные параметры Fancybox
Параметры Fancybox или, как их еще называют, ключи влияют на выполнение тех или иных задач. Они позволяют работать с такими типами контента как Ajax, ролики Youtube, Google maps, флеш-ролики swf, открывать контент в iframe. Изменить их значения можно непосредственно в FancyBox JS:

Настройка Fancybox
Самые важные настройки Fancybox for WordPress находятся во вкладках Appearance, Animation и Behavior. С их помощью можно обеспечить соответствие визуального оформления картинок с общим дизайном сайта.
На вкладке Appearance можно произвести настройку цвета и включение рамки изображений (Border). Настройка кнопки закрытия окна с картинкой, выбор положения и цвета внутреннего отступа производится в Button. Цвет, прозрачность и затемнение заднего фона можно отрегулировать в Overlay Options. Выбрать цвет и место выведения заголовка можно в Title. Navigation Arrows - стрелки навигации, перелистывания.
Скорость анимации и прозрачность картинок можно настроить в Zoom Options во вкладке Animation. Эффект растягивания или затухания выбираем в Transition Type. Подбор шаблона для эффектов осуществляется в Easing.
Во вкладке Behavior можно установить автоматическое растягивание картинки согласно размеру экрана (Auto Resize to Fit), а также выбрать способ закрытия изображений (Close with «Esc», Close on OverlayClick, Close on ContentClick) и зацикливание их показа (Cyclic Galleries).
Fancybox имеет несколько настроек режимов вывода картинок, видов надписи над картинками, скорости перелистывания и т.д.
Рассмотрим, как производится настройка Fancybox:
- Как отобразить картинку?
Чтобы настроить отображение картинки, необходимо прописать следующий код:
<script type="text/javascript">
$(document).ready(function() {
$(".single_image").fancybox();
});
</script>
Далее пишем следующее:
<a class="single_image" href="image_big.jpg"><img src="image_small.jpg" alt=""></a>
В href следует указать путь к изображению, а в <img> прописать превью.
- Как отобразить группу изображений и реализовать галерею?
В данном случае следует добавить в <a> атрибут <rel>, в котором будет отражено то или иное значение для отдельной группы изображений:
a rel= "group" href="images/111.jpg"><img src="images/111.jpg" height="110"></a>
<a rel= "group" href="images/222.jpg"><img src="images/222.jpg" height="110"></a>
<a rel= "group" href="images/333.jpg"><img src="images/333.jpg" height="110"></a>
<a rel= "group" href="images/444.jpg"><img src="images/444.jpg" height="110"></a>
Нужно указать параметры отображения:
<script type="text/javascript">
$(document).ready(function() {
$("a[rel=group]").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over',
'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '</span>';
}
});
});
</script>
Если необходимо вести подсчет картинок в определенной группе или показывать заголовок изображения и номер, пропишите эту информацию в title.
- Как отобразить контент?
Плагин Fancybox можно использовать для того, чтобы выводить контент в модальное окно.
Например:
<a id="content" href="#text" title="Заголовок">Отображение контента</a>
<div style="display: none;">
<div id="text" style="width:400 px; height:100 px; overflow:auto;">
текст
</div>
</div>
По умолчанию контент скрыт - display:none. Но как только пользователь кликнет по ссылке, начинает отображаться контент div с ID, указанным в href:
<script type="text/javascript">
$(document).ready(function() {
$("#content").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
</script>
Как настроить фон и окно?


В поле «Автоматическое определение» можно выбрать те форматы файлов, которые будут открываться в FancyBox автоматически.
Настроить анимацию при открытии/закрытии можно в разделе «Поведение». Чтобы перелистывать изображения с использованием мышки поставьте галочку «Включить скрипт для Mousewheel jQuery».
Как настроить PDF?
Данная настройка Fancybox будет отображаться только, если он активирован для PDF:

PDF-документ будет отображаться в плагине, после того как будет установлена галочка «Автоматическое определение» и в ссылке на файл дописано «fancybox-pdf»:
<a href= "http://ваш сайт" class= "fancybox-iframe"> Ссылка на нужный файл </a>
Все, что теперь требуется, – разместить на сайте ссылку на PDF-файл.
Как настроить видео с YouTube?

При нажатии на ссылку на видеоролик с YouTube он будет отображаться во всплывающем окне.
Что делать если не работает Fancybox for WordPress?
Вы настроили плагин и внесли все изменения, а результата нет? Это не означает, что не работает Fancybox for WordPress. Все, что от вас требуется - очистить кэш или и вовсе выключить его на время правок.
В случае возникновения ошибки «TypeError:$ is not a function», решить проблему поможет замена $ на jQuery.
Секреты работы с Fancybox:
- Если уже имеется встроенный лайтбокс, это может спровоцировать конфликт с Fancybox. В таком случае следует в настройках плагина в разделе «Медиа» снять галочку с поля «Изображения» и сохранить изменения;
- Не рекомендуется подключать плагин в теме Chameleon, так как некоторые особенности темы начинают работать некорректно. Тем более, что тема Chameleon уже имеет свой лайтбокс;
- Если в настройках в разделе «Ссылка» выбран «Медиафайл», то в момент нажатия на изображение одновременно откроется и картинка в Fancybox, и галерея. Избежать этого можно, если установить значение «Страница вложения»;
- Предотвратить опускание картинок вниз в момент прокрутки страницы можно, если убрать галочку в разделе Behaviour (Поведение) с позиции Center on Scroll.
Установив и корректно настроив Fancybox, вы сможете быстро и легко создавать красивые галереи и успешные проекты.