Открыть ссылку на изображение в качестве лайтбокса внутри накладываемого сообщения prettyphoto

У меня есть текст и изображение, открывающееся как накладываемое изображение Prettyphoto. Но если щелкнуть ссылку на изображение внутри, откроется новая ссылка на вкладку.

Есть ли способ открыть еще один оверлей Prettyphoto сверху? Итак, когда изображение закрыто, другое встроенное наложение все еще открыто?

1 ответ

Я понял, что другой плагин lightbox автоматически добавляет rel=lightbox ко всем типам файлов img. Это заставило его переопределить prettyPhoto (который я кодировал, чтобы использовать class="prettyPhoto-link" вместо rel

В function.php

  add_filter('the_content', 'chosted_image_attribute');

function chosted_image_attribute($content) {
       global $post;
       $pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
       $replacement = '<a$1href=$2$3.$4$5 rel="lightbox">';
       $content = preg_replace($pattern, $replacement, $content);
       return $content;
}

И это в верхней части jquery.prettyPhoto.js

jQuery(function($){
    $(document).ready(function(){
        $(".prettyphoto-link").prettyPhoto({
            animation_speed:'normal',
            allow_resize: true,
            keyboard_shortcuts: true,
            show_title: false,
            social_tools: false,
            autoplay_slideshow: false
        });
    });
});

Это может помочь вам вызвать красивую фотографию из кода PHP, так как иногда rel не работает.

Другие вопросы по тегам