Forum Replies Created

Viewing 2 replies - 1 through 2 (of 2 total)
  • Max

    (@maxirider)

    Плагин PhotoSwipe использует title для формирования Caption. Но title не формируется в коде ссылки.
    Для формирования title необходимо дописать код, аналогичный тому, что формирует title для других плагинов.
    В файле inc/BoxersAndSwipers.php в функции add_anchor_tag_content
    находим код:
    else if ( $this->effect === ‘photoswipe’ ) {
    //photoswipe
    $rel_name = ‘ rel=”boxers-and-swipers”‘;
    $class_name = ‘ class=”boxersandswipers”‘;
    $link = str_replace($value, $rel_name.$class_name.$value, $link);
    }
    и меняем на:
    else if ( $this->effect === ‘photoswipe’ ) {
    //photoswipe
    $rel_name = ‘ rel=”boxers-and-swipers”‘;
    $class_name = ‘ class=”boxersandswipers”‘;
    $titlename = NULL;
    foreach ( $this->attachments as $attachment ) {
    if( strpos($value, get_post_meta( $attachment->ID, ‘_wp_attached_file’, true )) ){
    $titlename = ‘ title=”‘.$attachment->post_title.'”‘;
    }
    }
    $link = str_replace($value, $rel_name.$class_name.$titlename.$value, $link);
    }

    После этого Captions должны показываться.
    Версия плагина – 2.33.

    Max

    (@maxirider)

    Привет.

    Такой двойной вызов метода есть не только у photoSwipe, но и у всех остальных плагинов. И во фронтенде это работает неправильно. Например, у imagelightbox при загрузке страницы вызывается метод, но при клике на картинку метод вызывается повторно, и в итоге он работает нестабильно и неправильно. Можете проверить это.

    Думаю, что для бесконечной прокрутки нужно отдельно подгружать скрипты с вызовом метода.

    Я лично убрал у себя на сайте вызов метода при клике и оставил только при загрузке страницы.
    Делается это в файле inc/BoxersAndSwipersAddJs.php
    Теперь на сайте всё работает хорошо, без глюков.
    Можно посмотреть: https://classpic.ru

    Код для photoSwipe такой:
    $boxersandswipers_add_js = <<<BOXERSANDSWIPERS1

    <!– BEGIN: Boxers and Swipers –>
    <script type=”text/javascript”>
    jQuery(function() {
    jQuery(“.boxersandswipers”).live(‘click’, function(e){ e.preventDefault(); }).photoSwipe({
    BOXERSANDSWIPERS1;
    $photoswipe_set = NULL;
    foreach( $photoswipe_tbl as $key => $value ) {
    if ( is_string($value) && $value <> ‘true’ && $value<> ‘false’ ) {
    $photoswipe_set .= $key.’: “‘.$value.'”,’;
    } else {
    $photoswipe_set .= $key.’: ‘.$value.’,’;
    }
    }
    $photoswipe_set = rtrim($photoswipe_set);
    $photoswipe_set = rtrim($photoswipe_set, “,”);
    $boxersandswipers_add_js .= $photoswipe_set;
    $boxersandswipers_add_js .= <<<BOXERSANDSWIPERS2
    });
    });
    </script>
    <!– END: Boxers and Swipers –>
    BOXERSANDSWIPERS2;

    Для остальных плагинов так же.

    Хотелось бы, конечно, чтобы это было учтено в следующих версиях плагина “Boxers and Swipers”. Иначе приходится каждый раз после обновления проверять файлы и заменять их.

Viewing 2 replies - 1 through 2 (of 2 total)