帖子缩略图非常有用,在 WordPress 中也很容易使用。只需添加
add_theme_support('post-thumbnails');
到主题的 functions.php 文件中,您将在管理屏幕上的帖子中获得一个 **特色图片** 模块,允许您选择一个。
它也很容易 输出该图像 作为 HTML <img>
get_the_post_thumbnail();
但如果只需要 URL 呢?比如,您要将其用作元素的 background-image
,而不是内容图像。不幸的是,没有超级简单/明显的功能可以做到这一点。
在循环中,您需要这样做
$thumb_id = get_post_thumbnail_id();
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail-size', true);
$thumb_url = $thumb_url_array[0];
然后 $thumb_url
就是那个 URL。
您也可以使用此代码,尤其是在将帖子存储在数组中时
$image = wp_get_attachment_url( get_post_thumbnail_id($post->ID));
救了我一命。谢谢老兄。
我刚接触 WordPress 和 php,所以我为我的网站购买了一个主题来简化操作。我一直对网站进行更改,并且在获取帖子附件 URL 时苦苦挣扎了几个小时。我的问题是我一直在查看主题功能和文件。好吧。人总要不断学习。再次感谢。
Aaron,您如何在代码中传递缩略图大小?我试过了,它显示的是原始图像的 URL。
嗨 Ben,在这种情况下,您可以使用这个
wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), $size, $icon );
您可以在第二个参数中设置注册大小……
谢谢,太优雅了,我之前遇到的一切都太复杂了。
太棒了。非常简单。谢谢。
嘿 Chris,我对尝试获取下一个和上一个帖子的特色图片源有点困惑。我知道如何获取下一个和上一个帖子的特色图片,我将它们用于漂亮的下一个/上一个导航按钮,但我还在我的主题中使用特色视频加插件,所以它会自动用特色视频替换图片。很棒的插件,我已经通过获取 img src 而不是 post_thumbnail 来让视频缩略图在我的博客和猫页面上工作,但我仍然不知道如何在单个帖子上的下一个/上一个导航中做到这一点。您能给我一些提示吗?
谢谢!:)
嗨。我想一步到位。但我对 PHP 不太熟悉。
我想用 PHP 打印完整的样式并获取特色图片。尝试了类似于我制作的简单 WP 插件中的以下内容
但它不起作用,在调试没有 WP 命令的情况下,我还注意到脚本在文档的第一行打印了它的结果。我更希望输出显示在 中。
任何帮助将不胜感激!
一行代码 ~
<?= wp_get_attachment_image_src( get_post_thumbnail_id(), 'full', false )[0] ?>
太棒了!谢谢 Edward
这正是我要找的!你的帖子总是能让我摆脱困境。非常感谢!!
大家好,
我需要一些帮助,我正在尝试在页面中的帖子中添加特色图片作为背景(我知道很混乱)。
我找到的所有教程只允许我在帖子是“页面”时添加它,但我已经有一些代码可以将特定帖子拉入页面,并希望 div 中的背景是特色图片,但我找不到任何可以告诉我该怎么做的地方!
有人可以帮忙吗?
嗨 Sam,
你可以使用这种方法。
要获取特色图片作为背景图片,
将此代码插入循环中
并创建一个 div 例如 banner
ID); //获取特色图片的 id
$featuredImage = wp_get_attachment_image_src($imgID, 'full' );//获取特色图片的 URL(返回一个数组)
$imgURL = $featuredImage[0]; //从数组中获取图片的 URL
?>
.banner {
background:url('') no-repeat top center #DA6F4F;
min-height: 100px;
}
上传代码时出现错误
<?php
if (has_post_thumbnail()) { //如果设置了缩略图
$imgID = get_post_thumbnail_id($post->ID); //获取特色图片的 id
继续回复……
嗨 Sam,
您可以使用此方法
谢谢你的代码,它有效
http://www.gazianteptasarim.com
有所有解决方案!:)
嗨!但是,我应该把这段代码放在哪里?我使用的是 Post Type Builder 插件,它允许我添加自定义帖子并编辑存档和模板布局,因此,我想将特色图片设置为标题背景,并将帖子的标题放在图片的正中间……我如何才能做到这一点呢?:(
非常感谢!
只需使用 get_the_post_thumbnail_url();
有人可以建议我如何将此固定 URL 自动设置为特色图片吗?
这是我的图片 URL
嗨 Bung Nas,
听起来您正在尝试自动设置特色图片。这与这段代码略有不同,这段代码提供了一种获取帖子特色图片 URL 的方法。
您可能想研究一个自动为您设置特色图片的插件。我个人没有尝试过这个,但它看起来很有希望
https://wordpress.org/plugins/wp-auto-featured-image/
干杯!
我正在更改主题,并且有许多过去的博客帖子包含特色图片的 URL。过去,我没有将图片上传到库,而是直接链接到服务器上的文件——例如:domain.com/Blog_Photos/2018/4802_haze.jpg。当我点击添加媒体图标时,我能够在帖子中引用 URL。现在我正在更改主题,它不会自动获取 URL 并使用图片。除非图片在媒体库中,否则博客列表不会显示图片。是否有任何代码可以用来获取当前文本上下文中存在的 URL?谢谢!
我没有获取特色图片 URL,因为我在 template.php 中粘贴了这段代码。我在本文中看到了这段代码 https://www.wpblog.com/wordpress-get-featured-image-url/
ID) );
?>
<div class="wpblog-featured-image"
style=”wpblog-featured-background-image: url();”
>
嗨 Amanda!您可能使用 标准函数 获取特色图片 URL 会更幸运。
我还没有测试过这个,但应该类似于
现在使用 get_the_post_thumbnail_url();
嘿!您也可以使用 get_the_post_thumbnail_url() 函数