在开发wordpress主题时,会有一些比较特别的需求——获取page页面文章特色图片的URL地址,而不是获取特色图片本身。这种情况一般很少,但就是有那么个特殊情况,如:首页要用page页面文章内容中的图片,page页面要调用一个全屏的banner图,这个banner是以元素背景图的形势展示。这时,我们用the_post_thumbnail()函数来调用就不适合了,因为,它会把图片直接显示出来,而不会成为其它元素的背景。
这时,我们需要用到2个wordpress主题函数,wp_get_attachment_image_src()和get_post_thumbnail_id()。
wp_get_attachment_image_src( $attachment_id, $size, $icon );
$attachment_id: 特色图片的id
$size:图片大小,可选thumbnail(最小), medium(中等大), large(大号)、 full(完整大小)
返回值:
Array(
[0] => url //图片地址
[1] => width //图片宽度
[2] => height //图片高度
[3] => boolean //true表示返回了缩放后的图片,false表示返回了原始图片
)
get_post_thumbnail_id($pid):获取特色图片的ID
有了这2个wordpress主题函数,wordpress主题就可以轻松获取到page页面或文章特色图片的url地址,代码如下:
if (has_post_thumbnail()) {
$arr = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),full );
echo '<div class="topadcs" style="background: url('.$arr[0].') no-repeat top center/100% 100%;"></div>';
}
这2个函数我们一般很少用到,因为在开发wordpress主题时,一般都是直接在页面显示图片,而不会把图片url作为一个变量储存起来。也只有在这种特殊情况下,才会用上。