我在页面上有一个图片库,我正在使用高级自定义字段来提取缩略图和该图像的更大版本。现在,我将它设置为两个单独的字段,因此用户必须上传两个单独的图像(缩略图和完整大小)。我正在尝试设置它,因此用户只需要上传一张图片,但是当我按照http://www.advancedcustomfields.com/resources/field-types/image/上的示例操作时,我的缩略图不起作用,但完整的图像仍然可以。这是我一直在使用的代码:
<?php query_posts(array(
'post_type' => 'gallery_images',
'posts_per_page' => 20,
)); ?>
<?php while (have_posts()) : the_post(); $gallery_images;
$attachment_id = get_field('gallery_full');
$size = "thumbnail"; // (thumbnail, medium, large, full or custom size)
$image = wp_get_attachment_image_src( $attachment_id, $size );
?>
<div class="gallery_image_wrap"><a rel="shadowbox[galpage]" href="<?php the_field('gallery_full'); ?>"><img src="<?php echo $image[0]; ?>" /></a></div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
这是它返回的一个例子:
<div class="gallery_image_wrap">
<a href="http://example.com/photo.jpg" rel="shadowbox[galpage]">
<img src=" ">
</a>
</div>
我做错了什么? (另外,我尝试上传新图片,看看这是否是一个解决方案,我仍然遇到了同样的问题。)
答案 0 :(得分:0)
wp_get_attachment_image_src
将返回本地文件系统上不存在缩略图的原始图像。此函数返回一个布尔值,如果正在使用缩略图,则返回TRUE;如果正在使用原始函数,则返回FALSE。
您可以通过以下方式查看:
<?php while (have_posts()) : the_post(); $gallery_images;
$attachment_id = get_field('gallery_full');
$size = "thumbnail"; // (thumbnail, medium, large, full or custom size)
$image = wp_get_attachment_image_src( $attachment_id, $size );
if(!$image[3]) { echo "Thumbnail not available"; }
?>
上面的代码可能不会对你的问题做太多,但它会让你更好地了解逻辑在哪里破解。
如果这实际上是发生了什么,你应该根据一些文档来研究PHP的内存限制。这可以通过将以下行添加到.htaccess来解决:
php_value memory_limit 128M