【问题标题】:How to get WordPress image thumbnail link? ( not featured image )如何获取 WordPress 图片缩略图链接? (不是特色图片)
【发布时间】:2015-02-02 19:22:55
【问题描述】:

我正在尝试使用 WordPress 高级自定义字段和转发器字段插件构建一个简单的画廊。我需要显示一个缩略图,您可以单击它来放大主图像(我使用的是 Fancybox)。有谁知道是否可以获取 WordPress 自动生成的图像缩略图的链接?

我可以得到主图链接: /wp-content/uploads/2014/12/slide1.jpg

但需要获取此图片链接: /wp-content/uploads/2014/12/slide1-150x150.jpg

这是我的代码:

<?php if(get_field('gallery')): ?>
    <ul>
        <?php while(has_sub_field('gallery')): ?>
            <a class="fancybox" href="<?php the_sub_field('image'); ?>" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="<?php the_sub_field('image'); ?>" alt="" width="200px;" height="auto"/></a>
        <?php endwhile; ?>
        <?php while(has_sub_field('video_link')): ?>
            <a class="fancybox-media" href="<?php the_sub_field('video_link_snippet'); ?>"><img src="<?php the_sub_field('video_image'); ?>"/></a>
        <?php endwhile; ?>
    </ul>
<?php endif; ?>

【问题讨论】:

  • 你好!如果您需要有关此问题的任何其他帮助,请告诉我。如果此问题得到解决,请考虑选择一个答案。

标签: php wordpress gallery


【解决方案1】:

您完全可以使用高级自定义字段和 Wordpress 做到这一点。为此,请进入自定义字段并更改子字段“图像”,以便它返回图像对象而不是图像 URL。 See 'return value' here.

一旦此字段返回对象,请尝试 var_dumping 该字段以查看您的 URL 选项:

var_dump(the_sub_field('image'));

这应该会向您显示系统中启用的不同缩略图大小,并让您轻松获得所需的缩略图。一个可能的例子:

// Get image object with all sizes...
$image = the_sub_field('image');
$size = 'thumbnail';

// Get URL from sizes based on our $size var
$url = $image['sizes'][$size];

// Now we have the thumbnail URL
echo $url;

如果您遇到问题,请告诉我!如需更多文档和更多选项,请尝试Advanced Custom Fields documentation for the Image field

【讨论】:

  • 感谢您的帮助!我尝试了 var_dumping 该字段,但它没有显示任何“sizes”=> 的结果。我在 functions.php 文件中创建了各种图像大小,它应该显示这些吗?
  • 您好,我看到您暂时在此处发布了 var_dump,它确实显示了“尺寸”。您能否重新发布 var_dump 结果,我将提供如何从中获取特定缩略图的示例?
  • array 0 =&gt; array 'image' =&gt; array 'id' =&gt; int 54 'alt' =&gt; string '' (length=0) 'title' =&gt; string 'slide1' (length=6) 'caption' =&gt; string '' (length=0) 'description' =&gt; string '' (length=0) 'mime_type' =&gt; string 'image/jpeg' (length=10) 'url' =&gt; string 'http://localhost/wp-content/uploads/2014/12/slide1.jpg' (length=54) 'width' =&gt; int 1000 'height' =&gt; int 630 'sizes' =&gt; array ...
  • 我正在使用此代码来概括 var_dump:&lt;?php $image = get_field('image'); echo '&lt;pre&gt;'; var_dump( $image ); echo '&lt;/pre&gt;'; ?&gt;
  • 太好了,我已经尝试过该代码,它现在可以工作了。非常感谢您的帮助!!! :-)
猜你喜欢
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 2011-03-11
  • 1970-01-01
  • 2022-09-24
  • 2016-11-21
  • 1970-01-01
相关资源
最近更新 更多