我正在努力获得Wordpress中图像的URL的中等大小。我的工作来源如下:
<div class="entry-thumbnail coverback" style="background-image: url(<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>); ">
但是这需要完整的图像,因为上传的完整图像有点大,我的页面会爆炸到每个负载9-10 MB。
所以到目前为止我已经尝试过没有成功:
<div class="entry-thumbnail coverback" style="background-image: url(<?php echo $image_attr = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); ?>); ">
和
<div class="entry-thumbnail coverback" style="background-image: url(<?php echo wp_get_attachment_image ( int $attachment_id, string|array $size = 'medium', bool $icon = false, string|array $attr = '' ); ?>); ">
和
<div class="entry-thumbnail coverback" style="background-image: url(<?php echo wp_get_attachment_image( get_the_ID(), array('medium') ); ?>); ">
但其中没有一个有效,我在这里做错了什么?我曾试图使用WP Codex和其他东西,但是......这让我感到很困惑,而不是它帮助:(
任何帮助都会非常感激。
答案 0 :(得分:2)
从wp_get_attachment_image_src docs开始,该函数返回一个数组。数组中的第一个元素是src url,因此您需要按如下方式修改代码:
<?php
// Load the attachment attributes
$image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium');
// IF it's an array, and the url (index 0) is set, then assign it
$image = (isset($image[0])) ? $image[0] : '';
?>
<div class="entry-thumbnail coverback" style="background-image: url(<?php echo $image; ?>); ">