WordPress 如何获取当前页面特色图片链接?

在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.phppage.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.phppage.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">
......

后面可以在使用该模板的页面,例如联系我们页面修改特色图像,即可在前端显示出来图片了。

滚动至顶部