WordPress 开启日志缩略图

  许多 WordPress 主题,出格是那些杂志型的主题,会给每篇日志加上一张缩略图,这种揭示方法一般用在首页,大概单独呈现,可能和日志摘要一起。可是今朝位置没有一个尺度的要领去实现日志缩略图,许多主题是利用 WordPress 自界说字段来实现日志缩略图成果,这样的配置较量巨大,固然我在建造的许多 WordPress 项目中都是用这个要领,而且配置了直接上传缩略图的要领,可是照旧略显贫苦。

  从 WordPress 2.9 开始,WordPress 开始内置了日志缩略图的成果,而且提供了具体的接口让主题的作者配置和挪用日志的缩略图。

WordPress 日志缩略图成果


WordPress 日志缩略图成果

开启 WordPress 日志缩略图成果

  在当前 WordPress 主题的 functions.php 添加以下函数,这个函数会在 WordPress 靠山编辑日志的界面开启配置日志缩略图的窗体。

add_theme_support( 'post-thumbnails' );

上面的代码会同时给日志和页面开启缩略图成果,假如你想单独开启该成果,利用以下代码:

add_theme_support( 'post-thumbnails', array( 'post' ) ); // 给日志启用日志缩略图
add_theme_support( 'post-thumbnails', array( 'page' ) ); // 给页面启用日志缩略图
配置日志缩略图巨细

  开启了 WordPress 日志缩略图成果之后,我们应该缩略图的巨细,这里有两种方法:box-resize(盒巨细模式)和 hard-crop(裁剪模式)。

  盒巨细模式凭据比例缩小图片直到适合指定的盒子,所以不会扭曲图片。盒巨细模式可以指定长度和宽度,好比一张 100X50 的图片在指定的 50X50 的盒子中会被缩小为 50X25。这种模式的长处是可以显示整张图片,缺点是生成的图片并不是一样大的,有时候是长度一样,有时候是高度一样,假如你想限制缩略图到必然的宽度,而不在乎它的高度,你可以指定你的宽度,然后配置它的高度为 9999 可能任何你认为够大的一个数字。配置盒模式的代码如下:

set_post_thumbnail_size( 50, 50 ); // 50 像素宽和 50 像素高,盒巨细模式(box resize mode)。

  第二种是硬裁剪模式(hard-crop),这种模式下,图片会被裁剪为指定的巨细,这种方法的长处就是获得我们所但愿的,好比你但愿的到一张 50X50 的缩略图,我们就会获得 50X50 的缩略图,缺点就是你的图片会被减少,而且在缩略图中只会显示图片的一部门。这种方法的代码是:

set_post_thumbnail_size( 50, 50, true ); // 50 像素宽和 50 像素高,裁剪模式(hard crop mode)
在主题中显示日志缩略图

  此刻我们要在主题中利用模板函数来显示日志缩略图,这些函数应该在 WordPress 的主轮回中利用。

has_post_thumbnail() 这个模板函数判定当前日志是否有缩略图,假如有返回 true,不然为 false:

<?php
if ( has_post_thumbnail() ) {
//当前日志有缩略图
} else {
//当前日志没有配置缩略图
}
?>

the_post_thumbnail() 这个模板函数输出日志缩略图,假如缩略图存在的话。

<?php the_post_thumbnail(); ?>
WordPress 日志缩略图详细利用案例

  假设你想在首页利用一个较量小的 50X50 裁剪模式的缩略图,而且想在日志页面利用 400 像素宽(高度不限制)的图片,那么怎么办?你可以置顶特另外自界说尺寸,代码如下:

在 functions.php 中添加如下代码:

add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 50, 50, true ); // 普通的缩略图
add_image_size( 'single-post-thumbnail', 400, 9999 ); // 永久毗连缩略图巨细

在 index.php 可能 home.php(取决你的主题的布局)中的主轮回添加如下代码:

<?php the_post_thumbnail(); ?>

在主题的 single.php (也是主轮回中)添加如下代码:

<?php the_post_thumbnail( 'single-post-thumbnail' ); ?>

  这样就行了,set_post_thumbnail_size() 挪用 add_image_size( 'post-thumbnail' ) — 默认的日志缩略图“handle”(处理惩罚函数)。可是我们可以通过挪用 add_image_size( $handle, $width, $height, {$hard_crop_switch} ); 来增加特另外日志缩略图处理惩罚函数,然后通过通报 handle 给 the_post_thumbnail( $handle ); 来利用新的缩略图尺寸。

其他 WordPress 日志缩略图相关的函数

获取日志缩略图 ID

  有时候你想自界说剧本,这个时候你大概获取缩略图的 ID,日志缩略图的 ID 是存在 meta key 为_thumbnail_id 的值中,可是我们只需要利用下面简朴的函数就可以获取日志的缩略图 ID:

$image_id = get_post_thumbnail_id();

获取日志缩略图而不是输出它

  有时候,你大概在 PHP 代码中返回日志缩略图,而不是输出它,可以利用下面简朴的代码:

$image = get_the_post_thumbnail( $post->ID, 'thumbnail' );

WordPress下载

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/10671.html