在WordPress中,我们通常有很多种情况需要只获取特色图片的链接,而不是需要获取特色图片的URL并输出一个包含特色图片的 <img>
标签。例如分类页面的banner区块,希望根据当前页面的特色图片去自动替换。
一般的<img>
标签代码
我们先看下,调用当前页面(或帖子)的特色图片(Featured Image)一般的<img>
标签代码:
<?php
// 获取当前页面(或帖子)的特色图片ID
$post_thumbnail_id = get_post_thumbnail_id();
// 检查是否有特色图片
if ($post_thumbnail_id) {
// 获取特色图片的URL
$thumbnail_url = wp_get_attachment_image_src($post_thumbnail_id, 'full')[0];
// 输出特色图片的HTML标签
echo '<img src="' . esc_url($thumbnail_url) . '" alt="Featured Image">';
}
?>
这段代码首先获取当前页面(或帖子)的特色图片ID,然后检查是否存在特色图片。如果有特色图片,它将获取特色图片的URL并输出一个包含特色图片的 <img>
标签。
可以将这段代码放在主题文件(如single.php
、page.php
)的适当位置,根据需要进行修改。
只想获取特色图片链接
如果你只想获取当前页面(或帖子)的特色图片链接而不需要输出 HTML 标签,你可以使用以下代码:
<?php
// 获取当前页面(或帖子)的特色图片ID
$post_thumbnail_id = get_post_thumbnail_id();
// 检查是否有特色图片
if ($post_thumbnail_id) {
// 获取特色图片的URL
$thumbnail_url = wp_get_attachment_image_src($post_thumbnail_id, 'full')[0];
// 输出特色图片的链接
echo esc_url($thumbnail_url);
}
?>
这段代码仅仅获取特色图片的链接并通过 echo
语句输出。你可以将这段代码嵌入到你的主题文件中,确保它在适当的地方使用,比如在 single.php
或 page.php
文件中。
实际使用代码:index-contact.php,联系我们页面调用该页面为模板。
<section class="slice py-2 bg-dark-primary" style="background-size: cover;background-image:url(<?php
// 获取当前页面(或帖子)的特色图片ID
$post_thumbnail_id = get_post_thumbnail_id();
// 检查是否有特色图片
if ($post_thumbnail_id) {// 获取特色图片的URL$thumbnail_url = wp_get_attachment_image_src($post_thumbnail_id, 'full')[0];// 输出特色图片的链接echo esc_url($thumbnail_url);
}
?>
)"><div class="container py-5">
......
后面可以在使用该模板的页面,例如联系我们页面修改特色图像,即可在前端显示出来图片了。