FancyBox加载小白色正方形

时间:2014-08-27 作者:user2802110

我知道有一个标题相同的类似主题,但我的问题不一样。Fancybox在我的html模板中工作得很好,但在将其转换为wordpress后,图像不会显示在弹出框中,我只能看到一个方形的白色框

这是我的代码:

<?php $args = array( \'post_type\' => \'portfolio\' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="portfolio-item"> 
    <a class="project-img-container">
        <?php the_post_thumbnail(); ?>
    </a>
    <div class="overlay">
        <a href="<?php the_permalink(); ?>" class="project-title"><?php the_title(); ?></a>
        <a href="<?php get_the_post_thumbnail(); ?>" class="project-img fancybox"></a>
        <a href="<?php the_permalink(); ?>" class="project-link"></a>
    </div>
</div>
<?php endwhile; ?>
&;以下是js:

$(".fancybox").fancybox({

        padding     : 0,
        margin      : 100,
        openEffect  : \'elastic\',
        closeEffect : \'elastic\',
        openSpeed   : 400,
        closeSpeed  : 400,

        helpers : {
            overlay : {
                css : {
                    \'background\' : \'rgba(0, 0, 0, 0.75)\'
                }
            }
        }
    });
我不是职业选手。所以我自己找不到错误。我该怎么办?

1 个回复
最合适的回答,由SO网友:Robert hue 整理而成

您为大型fancybox图像URL插入了错误的thumb函数。

<a href="<?php get_the_post_thumbnail(); ?>" class="project-img fancybox"></a>
此get\\u the\\u post\\u thumbnail()返回一个HTML图像元素,但您需要图像的URL。您的第一个代码应该是这样的。

<?php $args = array( \'post_type\' => \'portfolio\' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$thumb_image_url = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'large\' ); ?>
<div class="portfolio-item"> 
    <a class="project-img-container">
        <?php the_post_thumbnail(); ?>
    </a>
    <div class="overlay">
        <a href="<?php the_permalink(); ?>" class="project-title"><?php the_title(); ?></a>
        <a href="<?php echo $thumb_image_url[0]; ?>" class="project-img fancybox"></a>
        <a href="<?php the_permalink(); ?>" class="project-link"></a>
    </div>
</div>
<?php endwhile; ?>

结束

相关推荐