1

我使用 WordPress 的 acf pro 插件创建了一个画廊。这一切都与横向格式的图像完美配合。但是,由于缩略图是固定的宽度,而纵向图像的比例不同,因此它们在按比例缩小时比横向图像的高度要大得多,这显然看起来非常错误。

我要解决的是是否有办法裁剪缩略图的图像,但仍将原始图像用于灯箱。

您可以在此处查看图库

代码如下:

 <?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
?>

任何帮助都会非常受欢迎。

4

1 回答 1

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>

这应该会在灯箱中为您提供完整的图像,但在您的画廊的屏幕上显示缩略图图像。

于 2018-02-13T01:51:04.077 回答