我正在使用PHP echo语句将图像拖到图形元素的背景URL中。这是我目前正在使用的:
echo '<figure class="fixedratio" style="background: url(' . wp_get_attachment_url( get_post_thumbnail_id( )). ');"></figure>';
这行得通,但是无论其大小如何,它都会拉动主图像。
我在functions.php中创建了一个自定义图像尺寸,称为自定义尺寸。我想用那个尺寸。我以为我可以将它添加到get_post_thumbnail_id的括号内,但所做的只是创建错误。
所以这不起作用:
<?php if ( has_post_thumbnail() ) { ?>
<?php echo '<figure class="fixedratio" style="background: url(' . wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-size')[0] . ');"></figure>'; ?>
<?php } else { ?>
<figure class="fixedratio" style="background: url('<?php bloginfo('template_directory'); ?>/img/photo-na.gif');"></figure>
<?php } ?>
有什么想法可以显示我的自定义尺寸?
答案 0 :(得分:0)
这里有几个问题:
wp_get_attachment_url()检索给定附件ID的URL。作为上一个功能,该功能也仅接受一个参数(附件ID),因此您不能使用它来获取特定的图像尺寸。
如果要获取特定的图像尺寸,请改用wp_get_attachment_image_src()函数:
$image_data = wp_get_attachment_image_src( get_post_thumbnail_id(), 'custom-size' );
echo '<figure class="fixedratio" style="background: url(' . $image_data[0] . ');"></figure>';
functions.php
文件中添加新图像尺寸时,WordPress不会自动为所有帖子生成这些新图像尺寸,而仅针对此后创建的新帖子。您需要使用Regenerate Thumbnail插件(或类似选项)为您生成它们。如果您不这样做,WordPress将尝试查找帖子大小为“ custom-size”的图像,如果找不到,则WordPress会返回与其找到的尺寸最接近的图像(或原始图像)。 。