[Помогите] 3 галереи на одной странице

Тема в разделе "Wordpress", создана пользователем verstal4ik, 4 авг 2014.

Модераторы: DzSoft, Sorcus
  1. verstal4ik

    verstal4ik Создатель

    Регистр.:
    30 апр 2013
    Сообщения:
    19
    Симпатии:
    2
    Сайт на wp. На одной страничке 3 галереи:
    Бла-бла-бла1
    [gallery link="file" ids="1753,1743"]
    бла-бла-бла2
    [gallery link="file" ids=",1750,1747"]
    бла-бла-бла3
    [gallery link="file" ids=",1752,1737"]

    Нажимаешь на картину и начинаешь листать, а там все эти картинки вместе. А как сделать, чтобы были разделены по галереям ?

    l
     
    Последнее редактирование: 4 авг 2014
  2. Av0id

    Av0id Постоялец

    Регистр.:
    29 апр 2008
    Сообщения:
    51
    Симпатии:
    21
    нужно править wp-includes/media.php на предмет изменения стандартной галереи, как-то так
    Код:
    --- media.php.bak  2014-05-06 04:49:16.000000000 +0400
    +++ media.php  2014-08-05 16:56:49.000000000 +0400
    @@ -950,6 +950,7 @@ function gallery_shortcode( $attr ) {
      'captiontag' => $html5 ? 'figcaption' : 'dd',
      'columns'  => 3,
      'size'  => 'thumbnail',
    +  'data_rel'  => '',
      'include'  => '',
      'exclude'  => '',
      'link'  => ''
    @@ -1060,6 +1061,11 @@ function gallery_shortcode( $attr ) {
      if ( isset( $image_meta['height'], $image_meta['width'] ) )
      $orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
    
    +  if ($data_rel) {
    +  if(strpos( $image_output , '<a ') !== false && strpos( $image_output , '<img ') !== false )
    +  $image_output = str_replace( 'a ' , "a data-rel=\"{$data_rel}[gallery]\" " , $image_output );
    +  }
    +
      $output .= "<{$itemtag} class='gallery-item'>";
      $output .= "
      <{$icontag} class='gallery-icon {$orientation}'>
    
    использование
    Код:
    [gallery data_rel="blah" link="file" ids="1,2,3,4"]
    
    это при условии что нет хуков для добавления data-rel в lightbox и нужно добавлять для каждого такого элемента lightbox отдельно
    Код:
    $("a.zoom, a[data-rel^='prettyPhoto'], a[data-rel^='blah']").prettyPhoto({
    });
    
    или если не боитесь, то включить для всех data-rel
    Код:
    $("a.zoom, a[data-rel^='prettyPhoto'], a[data-rel]").prettyPhoto({
    });
    
    
     
    Последнее редактирование: 5 авг 2014