特定的POST格式图像缩略图

时间:2012-03-09 作者:Colton Allen

我为标准帖子设置了一个帖子缩略图(当一幅图片被选中时),但对于图片格式的帖子,我希望有一个单独的、动态调整大小的缩略图(即通过add\\u image\\u size在php函数中调整图片大小)。我从法典中找到了以下片段:

if ( has_post_format( \'video\' )) {
echo \'this is the video format\';
}
我试着在索引中使用它。php 0成功。我是在正确的轨道上,还是应该做一些完全不同的事情?

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

根据您的评论:

这就是我的意思:add_image_size( \'index-thumb\', 640, 250, true ); add_image_size( \'image-format\', 630, 9999, true );

因此,假设您为galleryvideo (以及“默认”大小,我们称之为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() 方法,如上所述。

SO网友:jfacemyer

您对这个问题的评论使我相信您在正确输出内容时遇到了问题。你说你在回应输出;请尝试将其返回:

if ( has_post_format( \'video\' )) {
  $content = \'this is the video format\';
}
return $content;
如果此脚本中的内容是“在”主帖子输出之前输出的,但您希望它“在”主帖子输出之内,则这可能会起作用。

看见append_content help 以便进一步讨论,这可能会有所帮助。

结束

相关推荐

为什么要在定制页面中使用Query_Posts()?

嗨,我是wordpress的新手,想知道query_posts() 作用如果有索引页或主页,则不需要此功能来显示帖子,但如果我制作了自定义页,则必须使用此功能来显示帖子。为什么?