WordPress 文章缩略图利用详解

  很多WordPress主题利用图片代表每篇文章,出格是一些杂志般机关的。图片大概只在首页显示,大概是独立的,可能放在摘要旁边。迄今为止,并没有尺度化的要领来实现这个成果。许多主题需要用户冗长乏味的在自界说域中输入图片URL,图片凡是需要手动裁切。从WordPress 2.9开始,主题作者可以轻松地开启缩略图选择界面,然后利用简朴的模板标签挪用图片。

  首先,在主题的functions.php中声明该主题支持缩略图成果,这将开启WP打点靠山中的缩略图配置界面。

add_theme_support( 'post-thumbnails' );

  上面的代码将在文章(Post)和页面(Page)两种内容模子中都开启缩略图选择界面,假如只想选择其一,可以添加参数:

add_theme_support( 'post-thumbnails', array( 'post' ) ); // Add it for posts
add_theme_support( 'post-thumbnails', array( 'page' ) ); // Add it for pages

  添加所需的行到functions.php中即可。

  下一步,指定缩略图尺寸,共有两个选项:等比例缩放和裁切。等比例缩放就是譬喻一张100×50图片,设定的巨细为50×50,则此图片会被缩放成50×25。这种方法的长处是整张图片都能显示,缺点是生成的图片巨细纷歧,有时是限宽的,有时是限高的。假如想把图片限定在某个宽度、高度不限的话,可以指定宽度,再指定一个毫不行能到达的高度,如99999。

set_post_thumbnail_size( 50, 50 ); // 50 pixels wide by 50 pixels tall, box resize mode

  在第二个选项裁切模式中,图片将被裁切成匹配方针的纵横比,然后在准确地缩放至指定尺寸。长处是生成的图片巨细一致,缺点是图片将被裁切(或从阁下双方,或从上下)以适合方针尺寸的纵横比,被裁掉的部份无法显示在缩略图中。

set_post_thumbnail_size( 50, 50, true ); // 50 pixels wide by 50 pixels tall, hard crop mode

  此刻可以操作模板函数在主题中显示这些图片,这些函数应放到主轮回中(译者注:作者按照2.9撰写此文,按照3.0默认主题的代码来看,不在主轮回内也能利用这些函数挪用缩略图)。

  has_post_thumbnail()返回布尔值,表白当前文章是否有手动选的缩略图:

<?php
if ( has_post_thumbnail() ) {
// the current post has a thumbnail
} else {
the current post lacks a thumbnail
}
?>

  the_post_thumbnail()假如存在缩略图则输出缩略图:

<?php the_post_thumbnail(); ?>

  这些是最根基用法,下面是一些高级用法。

  假设你想在首页利用50×50硬裁切(hard-cropped)的缩略图,而在文章的永久链接页面利用400像素宽(不限高)的缩略图,指定特另外自界说尺寸即可,代码如下:

 functions.php代码:

add_theme_support( 'post-thumbnails' );

set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails

add_image_size( 'single-post-thumbnail', 400, 9999 ); // Permalink thumbnail size

 home.php可能index.php的代码,取决于主题布局:

<?php the_post_thumbnail(); ?>

 single.php代码:

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

  set_post_thumbnail_size()仅仅挪用add_image_size( 'post-thumbnail' )——默认的文章缩略图“句柄”,但正如你所见可以添加特另外句柄来挪用add_image_size( $handle, $width, $height, {$hard_crop_switch} );,利用的时候区分句柄即可the_post_thumbnail( $handle );

  假如想要主题支持更早的WordPress版本,需要用function_exists()来阻止早期版本挪用这些新函数:

if ( function_exists( 'add_theme_support' ) ) { // Added since 2.9
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails
add_image_size( 'single-post-thumbnail', 400, 9999 ); // Permalink thumbnail size
}

  告诫:WordPress 2.9这个成果仅仅对新上传的图片有效,还不能对已存在图片调解巨细,我正在思量在将来版本中实现它(译者注:WordPress 3.0已经可以调解?)。假如你先前上传了缩略图,然后从头声明一个新的尺寸,那么在挪用模板函数时将不能对这些先前上传的缩略图硬裁切,等比例缩放也将在欣赏器中完成。作为姑且的办理方案,Viper007Bond开拓了一个插件回溯和建设丢失的缩略图尺寸:Regenerate Thumbnails。

WordPress下载

WordPress v3.5.2 简体中文版下载

WordPress 文章缩略图操作详解

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

转载注明出处:http://www.heiqu.com/10438.html