wordpress在上传图片的时候,会生成几张不同尺寸的缩略图,这些图片可以根据不同位置尺寸需求的不同由客户自行选用。用于首页时,一般就是火柴盒大小的一张,比如本博客的首页缩略图的尺寸设置就是200像素乘以150像素。缩略图是一种约定俗成的叫法,但在wordpress的官方中文版本中,这个东西被称之为特色图像,就是编辑文章页面右下角的那个,这也一度让对照着网上教程学习的博主丈二和尚摸不着头脑。
手工设置缩略图
缩略图一般采用文章中比较有特色的图片,所以一般先编辑文章,把该放的图片都放置好,然后再去点击特色图像功能。该功能会打开媒体库,如果是一篇新文章,那么一般最上面的几张图就是该文章的图片,选取一张自己觉得最合适的就可以了。设置好缩略图后,“设为特色图像”按钮会变为“移除特色图像”按钮,不想要缩略图的时候,可以轻点该按钮就行了。这里的“设为特色图像”也好,移除也好,都不会造成后台服务器上图片文件增加或者减少。图片的缩略图是再上传媒体库的时候自动生成的,无论你用或者不用,缩略图就在那里,不来不去。
利用函数设置缩略图
前几天用php实现了获取数据,并利用wp_insert_post发布文章,添加了适当的判断之后,功能已经正常了,但是还存在两个问题:
- 一是自动生成的文章没有设置特色图像(缩略图);
- 二是没有为文章设置自定义栏目,在这个主题中,博主利用自定义栏目标识了文章的引用来源。
第二个问题本来不该成为问题,在4.4.0版本之后,wp_insert_post的参数数组支持了meta_input字段,专门用来定义自定义栏目。因为自己觉得服务器配置一般,所以用的wordpress版本也比较陈旧,享受不到这个升级,只能重复造轮子了,当然这是后话,首先需要解决利用函数自动设置特色图像的问题。
set_post_thumbnail函数
wordpress利用set_post_thumbnail函数来设置特色图像,函数基本格式如下,看函数的参数相对简单,只需要两个数值型的参数,前一个是文章id,而后一个则是需要设为缩略图的图片媒体的id。之前一直对wordpress插入一个图片就占用一个id的事情耿耿于怀,看到这个函数,突然感觉占用几个id也没什么大不了的了,这函数里用着方便呀:
set_post_thumbnail( int|WP_Post $post , int $thumbnail_id )
- 函数参数:
- 函数返回
$result=wp_insert_post( $newPost );
if($result){
set_post_thumbnail($result,317);
echo '已经成功生成一篇文章!id为'.$result;
};
结果喜人,自动创建文章后获取到了文章id,并为文章成功设置了317号图片作为文章的特色图片。