七牛镜像存储 WordPress 插件中的常用模板函数

七牛镜像存储 WordPress 插件除了静态资源做 CDN 之外,其实还提供了很多额外的功能和函数。

这些函数分成四部分:第一部分是基础,如何使用七牛的裁图和水印功能对图片进行处理,第二部分是日志缩略图相关的,第三部分是带缩略图的日志列表,第四部分是分类和标签缩略图相关的。后面三部分都使用了七牛裁图功能,熟悉这些函数之后,你可以真正把 WordPress 所有图片相关的处理问题都交给七牛。

如果你是 WordPress 开发者,想使用七牛镜像存储 WordPress 插件作为基础进行二次开发的话,无论是做主题,或者做其他插件,下面这些函数是必须要了解的。

基础函数

获取图片的七牛缩略图


wpjam_get_qiniu_thumbnail($img_url, $mode=0, $width=0, $height=0, $quality='',$format='')
参数 说明
$img_url 图片链接,可以是本地图片地址,也可以是七牛的图片地址,最终输出会统一替换成七牛的图片地址。
$mode 缩略图缩略模式,具体参考:七牛图片处理(imageView2)文档
$width 缩略图的宽度。
$height 缩略图的高度。
$quality 缩略图的质量,取值范围:1-100,缺省为85。
$format 缩略图的输出格式,取值范围:jpg,gif,png,webp等,缺省为原图格式。

给七牛的图片加上水印


wpjam_get_qiniu_watermark($img_url, $watermark='', $dissolve='', $gravity='', $dx=0, $dy=0)
参数 说明
$img_url 要设置水印的七牛原图。
$watermark 水印图片链接,如果不填则使用七牛插件后台设置值。
$dissolve 透明度,取值范围1-100,如果不填使用七牛插件后台设置值。
$gravity 水印位置,参考水印锚点参数表,如果不填使用七牛插件后台设置值。
$dx 横轴边距,单位:像素(px),如果不填使用七牛插件后台设置值。
$dy 纵轴边距,单位:像素(px),如果不填使用七牛插件后台设置值。

获取图片的长和宽


wpjam_get_dimensions($size)

根据 $size 的值获取缩略图的长和宽,如果 $size 为字符串,则只能为’thumbnail’, ‘medium’, ‘large’ 这几个关键字,该函数会获取对应 WordPress 后台 > 设置 > 多媒体中设置的大小。

日志缩略图

判断当前日志是否有缩略图


wpjam_has_post_thumbnail()

显示当前日志缩略图


wpjam_post_thumbnail($size='thumbnail', $crop=1, $class="wp-post-image")
参数 说明
$crop 设置缩略图的大小,可以是一个数组,比如 array(150,150),也可以是字符串,比如'thumbnail',字符串只能为’thumbnail’, ‘medium’, ‘large’ 这几个关键字,分别对应 WordPress 后台 > 设置 > 多媒体中的设置大小。
$crop 设置是否裁剪缩略图,1为裁剪,如果为0,则只是按照最大边进行缩放,不进行裁剪。
$class 设置日志缩略图的 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(array(150,150),$crop=1);?></a>
</div>
<?php } ?>

获取日志缩略图


wpjam_get_post_thumbnail($post=null, $size='thumbnail', $crop=1, $class="wp-post-image")

wpjam_get_post_thumbnail 函数和 wpjam_post_thumbnail 基本一致,唯一区别是:

  • wpjam_post_thumbnail 是直接显示,而 wpjam_get_post_thumbnail 是获取,并不直接显示。
  • wpjam_post_thumbnail 显示当前日志的缩略图,而 wpjam_get_post_thumbnail 可以获取任何日志的缩略图,只需要第一个参数 $post 设置成要获取日志的 ID。

获取日志缩略图的地址


wpjam_get_post_thumbnail_src($post=null, $size='thumbnail', $crop=1)

参数和 wpjam_get_post_thumbnail 的参数基本一样,不再重复。

获取日志缩略图的原图

就是图片未缩略前的地址。


wpjam_get_post_thumbnail_uri($post=null)

带缩略图的日志列表

相关日志列表


wpjam_get_related_posts($number=5, $args=array())

wpjam_related_posts($number=5, $args=array())

第一个是返回,第二个是显示。

参数 说明
$number 相关日志显示数量。
$arg 相关日志显示的参数。

$arg 参数默认为:


array(
'class'=>'', 					//外层ul的class。
'thumb' => true, 				//是否带缩略图,默认带
'size' => 'thumbnail',			//缩略图大小
'crop'=> true, 					//缩略图是否裁剪
'thumb_class'=>'wp-post-image',	//缩略图的class
'number_per_row'=>5				//如果设置为缩略图为横排,每行个数
);

最新日志列表


wpjam_get_new_posts($number=5, $post_type="post", $args = array())

wpjam_new_posts($number=5, $post_type="post", $args= array())

同样第一个是返回,第二个是显示。第二个参数 $post_type 是设置从什么日志类型中获取最新日志列表,其他参数一样。

最热日志列表


wpjam_get_top_viewd_posts($number=5, $days=0, $args = array())

wpjam_top_viewd_posts($number=5, $days=0, $args= array())

同样第一个是返回,第二个是显示。第二个参数 $days 是设置从最新多少天内获取最热日志列表,默认0为所有,其他参数一样。

分类和标签缩略图

判断分类和标签是否有缩略图


wpjam_has_category_thumbnail()

wpjam_has_tag_thumbnail()

wpjam_has_term_thumbnail()

分别判断当前分类,标签,自定义分类是否有缩略图。

显示分类和标签缩略图


wpjam_category_thumbnail($size='thumbnail', $crop=1, $class="wp-category-image")

wpjam_tag_thumbnail($size='thumbnail', $crop=1, $class="wp-tag-image")

wpjam_term_thumbnail($size='thumbnail', $crop=1, $class="wp-term-image")

分别显示当前分类,标签,自定义分类的缩略图,单数和日志缩略图函数的参数一样,不再累述。

获取分类和标签缩略图


wpjam_get_category_thumbnail($category=null, $size='thumbnail', $crop=1, $class="wp-category-image")

wpjam_get_tag_thumbnail($tag=null, $size='thumbnail', $crop=1, $class="wp-tag-image")

wpjam_get_term_thumbnail($term=null, $size='thumbnail', $crop=1, $class="wp-term-image")

获取分类,标签,自定义分类的缩略图。

获取分类和标签缩略图的地址


wpjam_get_category_thumbnail_src($category=null, $size='thumbnail', $crop=1)

wpjam_get_tag_thumbnail_src($tag=null, $size='thumbnail', $crop=1)

wpjam_get_term_thumbnail_src($term=null, $size='thumbnail', $crop=1)

获取分类和标签缩略图的原图

就是图片未缩略前的地址。


wpjam_get_category_thumbnail_uri($category=null)

wpjam_get_tag_thumbnail_uri($tag=null)

wpjam_get_term_thumbnail_uri($term=null)

最后下载:

热门文章