如何添加新的图像大小并将其仅应用于帖子?

时间:2016-12-17 作者:Darren Bachan

我想创建一个新的图像大小,并编写另一个函数,基本上说,如果我将此新图像应用于任何帖子,则使用此新图像大小。

function add_image_size( \'story_thumb\', 640, 640, array( \'center\', \'center\' ) );

是我用于新图像大小的函数。我希望它是640x640和作物在死中心水平和垂直。

现在,如果我能让它只适用于那些很棒的帖子,但我不知道如何编写这个条件语句。我还想知道,是否有可能进一步针对标记有特定父类别的帖子。

我觉得可以对其进行修改以使其生效:

if ( has_post_thumbnail() ) { 
    the_post_thumbnail( \'story_thumb\' ); 
}

1 个回复
最合适的回答,由SO网友:Tunji 整理而成

如果您想将其应用于post type为post的单个帖子,可以执行以下操作:

if ( has_post_thumbnail() ) {
    if ( is_singular(\'post\') ) {
        the_post_thumbnail( \'story_thumb\' );
    } else {
        the_post_thumbnail( );
    }
}
如果您想检查帖子是否属于特定类别,也可以使用此选项。

if ( has_post_thumbnail() ) {
    if ( is_singular(\'post\') && in_category( \'category_slug\' ) ) {
        the_post_thumbnail( \'story_thumb\' );
    } else {
        the_post_thumbnail( );
    }
}
更换位置category_slug 使用你的类别弹头或一组类别弹头。

要在函数中使用它,可以在函数中定义自定义函数。php文件本身

if ( !function_exists(\'my_custom_post_thumbnail\') ) {
    function my_custom_post_thumbnail() {
        if ( has_post_thumbnail() ) {
            if ( is_singular(\'post\') ) {
                the_post_thumbnail( \'story_thumb\' );
            } else {
            the_post_thumbnail( );
            }
        }
    }
}
然后更换the_post_thumbnail 在您的主题中使用my_custom_post_thumbnail