WPJAM Basic 内置的缩略图函数

缩略图处理是 WordPress 最重要的工作之一,WPJAM Basic 内置一批专门用来处理缩略图函数,如果你是主题开发者,了解这些函数,会有很大的帮助,可以显著地加快你的开发效率。

首先这些函数的输出和 WPJAM Basic 的缩略图设置关联,所以首先要了解清楚缩略图设置,如果博客使用阿里云OSS 或者腾讯云COS这类第三方云存储,这些函数自动会使用第三方云存储进行裁图。

wpjam_get_thumbnail

wpjam_get_thumbnail($img_url, $size);

这个是 WPJAM 所有缩略图函数的基础,如果使用了第三方云存储服务,它会将图片域名替换成第三方云存储使用的域名,然后根据尺寸进行缩图。

并且为了使用方便,支持多种类型的参数形式:

// 简单替换成 CDN 域名
wpjam_get_thumbnail($img_url);

// 下面三个例子都是宽100 高200 进行裁剪
wpjam_get_thumbnail($img_url, ['width'=>100, 'height'=>200], $crop=1);
wpjam_get_thumbnail($img_url, '100x200', $crop=1);
wpjam_get_thumbnail($img_url, [100,200], $crop=1);

wpjam_get_default_thumbnail_url

wpjam_get_default_thumbnail_url($size, $crop=1);

获取后台设置的默认缩略图地址,如果没有设置则返回空,支持两个参数,第一个是图片的大小,第二个是是否裁剪。

wpjam_get_post_first_image_url

wpjam_get_post_first_image_url($post=null, $size='full')

获取文章内容的第一张的图片的地址,如果没有传递文章ID或者对象,则获取当前文章的第一张图片。

wpjam_get_post_thumbnail_url

wpjam_get_post_thumbnail_url($post=null, $size='full', $crop=1)

获取文章缩略图地址,这个和 WordPress 自带的 get_post_thumbnail_url 有区别的,重点是根据后台的设置,在未设置文章缩略图的情况下,该函数会获取第一张图片作为缩略图,或者使用默认缩略图。

如果选择了「无需修改主题,程序自动使用 WPJAM 缩略图设置」,那么 WordPress 自带的 get_post_thumbnail_url 在未设置缩略图的情况下也能够获取缩略图,获取的规则是一样的。

wpjam_has_post_thumbnail

如果选择「修改主题代码」,需要手动修改主题的的对应代码了,这时,还需两个函数,第一个是判断当前主题是否有缩略图的 WPJAM 版本:

 wpjam_has_post_thumbnail()

这个函数和 WordPress 自带的 has_post_thumbnail 的区别,和上面 wpjam_get_post_thumbnail_urlget_post_thumbnail_url 的区别一样。

wpjam_post_thumbnail

最后要显示文章缩略图,这个函数输出整个文章缩略图的 HTML:

wpjam_post_thumbnail($size='thumbnail', $crop=1, $class='wp-post-image')

所以最终显示文章缩略图的代码为:

<?php  if(wpjam_has_post_thumbnail()){?>

<div class="entry-thumb">
	<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php wpjam_post_thumbnail([150,150],$crop=1);?></a>
</div>
<?php } ?>

文章缩略图这三个函数,是基于你能够自己修改主题,不过我还是建议在缩略图设置的时候,选择:「无需修改主题,程序自动使用 WPJAM 缩略图设置」,这样无需设置就可以应用主题了。

wpjam_get_term_thumbnail_url

wpjam_get_term_thumbnail_url($term=null, $size='full', $crop=1);

如果在后台开启了分类缩略图,该函数可以获取分类缩略图。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。

热门文章