Размеры эскизов галереи расширенных настраиваемых полей

Я создал галерею с помощью плагина acf pro для WordPress. Все это отлично работает с изображениями в альбомном формате. Однако, поскольку уменьшенные изображения имеют заданную ширину, а портретные изображения имеют другие пропорции, они имеют гораздо большую высоту, чем пейзажные, при уменьшении масштаба, что, очевидно, выглядит очень неправильно.

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

Посмотреть галерею можно здесь:

Код выглядит следующим образом:

 <?php
$gallery = get_field('gallery');
$images = array();


$items_per_page = 12;
$total_items = count($gallery);
$size = 'full'; 
$total_pages = ceil($total_items / $items_per_page);

if(get_query_var('paged')){
    $current_page = get_query_var('paged');
}
elseif (get_query_var('page')) {
    $current_page = get_query_var('page');
}
else{
    $current_page = 1;
}
$starting_point = (($current_page-1)*$items_per_page);

if($gallery){
    $images = array_slice($gallery,$starting_point,$items_per_page);
}

if(!empty($images)){
     ?>  <div id="slider" class="flexslider"> 
                  <div class="gallery-div">
                    <?php foreach( $images as $image ): ?>
                            <a href="<?php echo $image['url']; ?>"  data-fancybox="gallery" data-caption="<?php echo $image['alt']; ?>" ><img src="<?php echo $image['sizes']['medium']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
                    <?php endforeach; ?>
                  </div>
                </div>
                <?php
}

?><div class="pagination-links">
<?php
$big = 999999999;
echo paginate_links(array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => $current_page,
    'total' => $total_pages,
    'before_page_number' => '<span class="screen-reader-text">'.$translated.' </span>'
));?>
</div>
<?Php
?>

Любая помощь будет принята с благодарностью.


person Lv1983    schedule 12.02.2018    source источник


Ответы (1)


Ваш Fancybox находится по ссылке, которая откроет URL-адрес в href, но нет никаких причин, по которым вы не можете использовать другое изображение в своем теге img. Почему бы не попробовать это:

<a href="<?php echo $image['url']; ?>" data-fancybox="gallery" data-caption="<?php echo $image['alt']; ?>" >
  <img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" />
</a>

Это должно дать вам полное изображение в лайтбоксе, но показать уменьшенное изображение на экране в вашей галерее.

person I'm Joe Too    schedule 13.02.2018