Intereting Posts
Отправка формы с использованием Ajax для запуска запроса SQL Select на основе ввода пользователем из формы wp_set_auth_cookie () не работает в вызове Ajax WP_Query, pre_get_posts и смещение Хорошие URL-адреса RSS-ленты для каждого настраиваемого типа сообщений Установка WAMP и WordPress: Visual Studio 2013 или 2012? Сохранение в post_excerpt или post_content Почему save_post _ $ (custom_post_type) уволен, даже если я еще не сохраняю сообщение? Получение метаданных из изображения Назначить список категорий с родительской категорией Тема «Двадцать семнадцать» – перемещение главного меню в начало экрана Поиск по нескольким категориям WordPress Как отображать дочерние категории родительской категории текущей категории? Не удалось найти статистику покрытия кода PHPUnit Как использовать несколько экземпляров сделки или объявления с помощью виджета подключаемого модуля таймера обратного отсчета Всегда сохранять параметр в URL-адресе?

Fancybox не работает. Зачем?

Хорошо, я попытался реализовать fancybox lightbox в моей настраиваемой теме.

Я выставил свои скрипты в functions.php:

function ikos_add_lightbox() { wp_enqueue_script( 'fancybox', get_template_directory_uri() . '/inc/lightbox/js/jquery.fancybox.pack.js', array( 'jquery' ), false, true ); wp_enqueue_script( 'lightbox', get_template_directory_uri() . '/inc/lightbox/js/lightbox.js', array( 'fancybox' ), false, true ); wp_enqueue_style( 'lightbox-style', get_template_directory_uri() . '/inc/lightbox/css/jquery.fancybox.css' ); } add_action( 'wp_enqueue_scripts', 'ikos_add_lightbox' ); 

В моем js для лайтбокса:

 (function($) { // Initialize the Lightbox for any links with the 'fancybox' class $(".fancybox").fancybox(); // Initialize the Lightbox automatically for any links to images with extensions .jpg, .jpeg, .png or .gif $("a[href$='.jpg'], a[href$='.png'], a[href$='.jpeg'], a[href$='.gif']").fancybox(); // Initialize the Lightbox and add rel="gallery" to all gallery images when the gallery is set up using  so that a Lightbox Gallery exists $(".gallery a[href$='.jpg'], .gallery a[href$='.png'], .gallery a[href$='.jpeg'], .gallery a[href$='.gif']").attr('rel','gallery').fancybox(); // Initalize the Lightbox for any links with the 'video' class and provide improved video embed support $(".video").fancybox({ maxWidth : 800, maxHeight : 600, fitToView : false, width : '70%', height : '70%', autoSize : false, closeClick : false, openEffect : 'none', closeEffect : 'none' }); })(jQuery); 

Так что это должно работать, как прокомментировано в js … Мой код для галереи пытается использовать лайтбокс прямо сейчас:

 <?php if ( $attachments = get_children( array( 'post_type' => 'attachment', 'post_mime_type'=>'image', //return all image attachment only 'numberposts' => -1, //get all the attachments 'post_parent' => $post->ID ))); foreach ($attachments as $attachment) { $src = wp_get_attachment_image_src( $attachment->ID, full); $html = '<a class="fancybox" href="'.$src[0].'">'; $html .= wp_get_attachment_image( $attachment->ID, 'gallery-thumb') .'</a>'; echo $html; } ?> 

Он должен работать с любыми .jpg, .gif или .png, но не потому, что мои изображения – все .jpg. Поэтому я добавил класс .fancybox к ссылке и ничего … Так что я даже пытался добавить галерею rel, но ничего не происходит …

В журнале консоли отсутствуют ошибки: /

Любая помощь высоко ценится!

Solutions Collecting From Web of "Fancybox не работает. Зачем?"

oh и изображения работают, но они ссылаются на сам образ и все.

Вы уверены, что изображения показываются со своими ссылками ? Ваш код PHP не работал со мной, я должен был использовать это вместо этого:

 $attachments = get_posts( array( 'post_type' => 'attachment', 'post_mime_type'=>'image', 'posts_per_page' => -1, 'post_status' => 'any', 'post_parent' => $post->ID); ); if ( $attachments ) { foreach ( $attachments as $attachment ) { $src = wp_get_attachment_image_src( $attachment->ID, full); $html = '<a href="'.$src[0].'">'; $html .= wp_get_attachment_image( $attachment->ID, 'gallery-thumb') .'</a>'; echo $html; } } 

Если ваш PHP работает нормально, попробуйте выполнить одно из следующих действий:

  1. Удалите свой лайтбокс wp_enqueue_script из вашей функции PHP (возможно, конфликт с Fancybox).
  2. Если шаг 1 все еще не работает, проверьте, какая версия Fancybox вы используете, и Google, если она работает с вашей текущей версией WordPress.

Я получил Fancybox, работая над вложениями, используя код PHP выше с вашим JS-кодом и простой wp_enqueue_script для Fancybox. Я использую следующее:

  1. Fancybox V2.1.5
  2. WordPress V3.6.1

OMG Я просто получил самый легкий ответ в этом вопросе:

Шаблон страницы, который использует лайтбокс для отображения изображений

Я не знал, что толстый бокс был построен: D