2014-09-26 27 views
0

我试图将简单的灯箱插件集成到高级自定义字段图像字段中。WP:acf图像字段和简单的灯箱插件集成

基本上我希望单击页面上的任何图像(通过acf图像域填充)在lightbox中打开,并且还可以与lightbox中的所有其他图像一起分组,以便像幻灯片一样浏览它们。这是Simple Lightbox插件的内置功能,但我不知道如何将其与图像字段的模板代码相集成。

对于我使用这个ACF所见即所得领域...

<?php 
    $content = get_field('wysiwyg'); 
    if (function_exists('slb_activate')) 
    $content = slb_activate($content); 
    echo $content; 
?> 

...伟大的工程,但是适应,要像场是躲避我。

这里是我的像场模板代码(不含在整合简单灯箱任何企图):

<?php 
    $image = get_field('img'); 

    if(! empty($image)) { 
    $url = $image['url']; 
    $alt = $image['alt']; 
    $caption = $image['caption']; 
    $size = 'large'; 
    $thumb = $image['sizes'][ $size ]; 
    $width = $image['sizes'][ $size . '-width' ]; 
?> 

<?php if($caption): ?> 

    <div class="wp-caption" style="width: <?php echo $width; ?>px"> 

<?php endif; ?> 

<a href="<?php echo $url; ?>"> 

    <img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" /> 

</a> 

<?php if($caption): ?> 

     <p class="wp-caption-text"><?php echo $caption; ?></p> 

    </div> 

<?php endif; ?> 

<?php } ?> 

对于如何简单灯箱融入这个有什么建议?提前致谢!

回答

0

使用php输出缓冲来将模板存储在变量中。将ob_start()放在顶部,然后放在底部ob_get_clean()将停止输出缓冲,并且可以将返回值保存到变量中。然后将其传递给slb_activate。

<?php 
    ob_start(); 

    $image = get_field('img'); 
    if(! empty($image)) { 
    $url = $image['url']; 
    $alt = $image['alt']; 
    $caption = $image['caption']; 
    $size = 'large'; 
    $thumb = $image['sizes'][ $size ]; 
    $width = $image['sizes'][ $size . '-width' ]; 
?> 
<?php if($caption): ?> 
    <div class="wp-caption" style="width: <?php echo $width; ?>px"> 
<?php endif; ?> 
<a href="<?php echo $url; ?>"> 
    <img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" /> 
</a> 
<?php if($caption): ?> 
     <p class="wp-caption-text"><?php echo $caption; ?></p> 
    </div> 
<?php endif; ?> 
<?php } ?> 
<?php $content = ob_get_clean(); ?> 
<?php echo slb_activate($content); ?> 
+0

看到我更新的代码。 – manishie 2014-09-26 22:27:20

+0

非常感谢,但不幸的是,使用此代码时,html输出没有改变。输出看起来与上面使用我的原始代码时一样。任何其他想法? – dadra 2014-09-26 22:49:53

+0

在最后一行发生了错误。此前我们回应了未改变的$内容。这应该现在工作。 – manishie 2014-09-26 23:06:09