您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
4-44. 定义更多的图像尺寸
发布时间:2023-03-23 23:20:07编辑:雪饮阅读()
相对于上篇,本篇增加了很多对于特色图像的相关配置以及相关信息获取的函数的介绍。分别如
the_post_thumbnail('category-thumb')(获取自定义尺寸标记特色图片,这个不算是新增,只是新增了一个不同于默认的那几个尺寸标记的传递,这个是咱们自定义的)、
the_post_thumbnail_caption
这个是获取文章特色图像说明的,可以从文章的特色图像哪里更换也好或者新增上传(如果文章没有上传过特色图像,也或者从媒体里面那个附件列表里面找到对应图片)总之应该一般都可以到如下这个界面配置这里的说明文字,那么the_post_thumbnail_caption函数获取的文章特色图像说明也是获取的这里的说明文字。
以及下面这些函数
get_the_post_thumbnail、
set_post_thumbnail_size、
add_image_size、
has_post_thumbnail
这些函数我都是有在下面的一般的如functions.php以及一般的如singular.php中有解释
functions.php:
<?php
function myfunc001(){
add_theme_support('post-thumbnails');
/*
新增post-thumbnail的尺寸标记,第三个参数为true时候相当于勾选了
"总是裁剪缩略图到这个尺寸(一般情况下,缩略图应保持原始比例)"
此项位于wordpress后台中”设置=》媒体=》缩略图大小"底部
增加了新的尺寸标记后,对于原来已经有的图片需要重新生成才行
因为其原理大概是先根据目前所拥有的图片标记对应先生成图片的
那么该方法在这里生成的图片路径一般的如“D:\phpstudy_pro\WWW\wpcourse\wp-content\uploads\2023\03\banner_2-100x100.jpg”
那么这里就是相当于修改了原来the_post_thumbnail('post-thumbnail')的调用结果,也即就是the_post_thumbnail()的调用结果
*/
set_post_thumbnail_size(100,100,true);
/*
新增自定义的尺寸标记
这种属于是自定义的尺寸标记,
上面的那种严格来说其实只是配置了the_post_thumbnail函数所接收的默认参数post-thumbnails对应图片生成时候的生成尺寸
而下面这种其实据说是生成的尺寸未必严格遵守,而是基于尽量保持原始图片比例的。
则这里生成结果可能如
“D:\phpstudy_pro\WWW\wpcourse\wp-content\uploads\2023\03\banner_v5.png-50x48.jpg”这样
*/
add_image_size('category-thumb',50,50);
}
add_action('after_setup_theme','myfunc001');
?>
singular.php:
<?php if(have_posts()):?>
<?php while(have_posts()):the_post();?>
<div style="border:1px solid pink;">
<h1>文章特色图像(本篇文章是否有特色图像)</h1>
<div>
<?php if(has_post_thumbnail()):?>
有配图
<?php else:?>
无配图
<?php endif;?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(默认(一般的是原图))</h1>
<div>
<?php the_post_thumbnail();?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(缩略大小)</h1>
<div>
<?php the_post_thumbnail('thumbnail');?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(原图)</h1>
<div>
<?php the_post_thumbnail('full');?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(大尺寸)</h1>
<div>
<?php the_post_thumbnail('large');?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(中等大小)</h1>
<div>
<?php the_post_thumbnail('medium');?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(默认(一般的是原图)('post-thumbnail'为默认接收参数))</h1>
<div>
<?php the_post_thumbnail('post-thumbnail');?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(自定义参数category-thumb)</h1>
<div>
<?php the_post_thumbnail('category-thumb');?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(获取图片说明)</h1>
<div>
<?php the_post_thumbnail_caption();?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>文章特色图像(get_the_post_thumbnail)</h1>
<p>get_the_post_thumbnail函数其实我的理解是和the_post_thumbnail函数一样,
不过get_the_post_thumbnail默认不会打印出来而是做为返回值,
需要调用者自己输出。
但有一点就是get_the_post_thumbnail第一个参数一般的是传递null,
这里第一个参数就是要传你所要获取文章特色图片的那个文章的数据一般的是$post变量,
如果传为null则也是默认获取全局变量$post
这点与the_post_thumbnail则是不同,the_post_thumbnail只需要一个参数,就是尺寸标记
至于获取那篇文章,应该都是根据全局变量$post的吧。
至于其它的,应该都是差不多的,都是传递不同尺寸标记即可。
</p>
<div>
<?php echo get_the_post_thumbnail(null,'thumbnail');?>
</div>
</div>
<?php endwhile; ?>
<?php else: ?>
<p>对不起,暂时没有任何内容!</p>
<?php endif;?>
关键字词:图像,尺寸