根据您的评论:
这就是我的意思:add_image_size( \'index-thumb\', 640, 250, true ); add_image_size( \'image-format\', 630, 9999, true );
因此,假设您为gallery
和video
(以及“默认”大小,我们称之为standard
), 也许是这样:
<?php
add_image_size( \'index-standard\', 640, 250, true );
add_image_size( \'image-gallery\', 630, 9999, true );
add_image_size( \'image-video\', 700, 9999, true );
?>
现在,在您想要输出自定义图像大小的模板中,让我们通过
get_post_format()
, 像这样:
<?php
// Determine post format
$post_format = ( get_post_format() ? get_post_format() : \'standard\' );
// Set image size based on post format
$thumbnail_size = \'image-\' . $post_format;
// Output post thumbnail
the_post_thumbnail( $thumbnail_size );
?>
应该是这样。
注:通过使用get_post_format()
, 您所要做的就是为每个支持的格式注册图像大小,就完成了。您可以使用has_post_format()
, 但您必须为每个支持的格式添加显式代码,如下所示:
<?php
$thumbnail_size = \'image-standard\';
if ( has_post_format( \'gallery\' ) ) {
$thumbnail_size = \'image-gallery\';
} else if ( has_post_format( \'video\' ) ) {
$thumbnail_size = \'image-video\';
}
the_post_thumbnail( $thumbnail_size );
?>
您也可以使用
switch
而不是
if/else
; 不管怎样,使用
get_post_format()
方法,如上所述。