You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为WordPress特定分类或标签设置文章缩略图尺寸?

解决分类文章自定义缩略图尺寸的问题

你的思路方向是对的,但代码的用法和执行时机出了问题,导致缩略图没有按预期变化。我来帮你一步步修正:

问题分析

  1. set_post_thumbnail函数用错了:这个函数的作用是给指定文章设置特色图片(也就是上传的那张原图),而不是指定显示的缩略图尺寸。要指定显示尺寸,应该在调用缩略图显示函数时传入参数。
  2. 条件判断的位置不对:你把in_category的判断直接写在functions.php的全局作用域里,这时候程序还没加载到当前文章的上下文,in_category根本无法判断当前文章属于哪个分类,自然不会生效。

正确的实现步骤

1. 保留functions.php里的图片尺寸注册

这部分你写的是对的,继续保留:

if ( function_exists( 'add_theme_support' ) ) { 
    add_theme_support( 'post-thumbnails' ); 
    add_image_size( 'thumbvert', 500, 750, true ); 
    add_image_size( 'smallvert', 675, 1013, true );
} 

2. 在模板文件中根据分类调用对应尺寸

找到你用来显示文章画廊的模板文件(比如archive.php、category.php,或者自定义的模板片段),在循环显示文章的地方,替换原来的缩略图调用代码:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <!-- 你的画廊项容器 -->
    <div class="gallery-post">
        <?php
        // 根据当前文章的分类选择缩略图尺寸
        if ( in_category( 'thumbvert' ) ) {
            the_post_thumbnail( 'thumbvert' ); // 调用thumbvert尺寸
        } elseif ( in_category( 'smallvert' ) ) {
            the_post_thumbnail( 'smallvert' ); // 调用smallvert尺寸
        } else {
            the_post_thumbnail( array( 500, 333 ) ); // 默认尺寸
        }
        ?>
        <!-- 其他文章内容,比如标题、摘要 -->
        <h2><?php the_title(); ?></h2>
    </div>
<?php endwhile; endif; ?>

3. 重新生成缩略图(重要)

如果你之前已经上传过文章图片,新添加的thumbvert和smallvert尺寸不会自动生成对应的缩略图。你需要用Regenerate Thumbnails这类插件批量重新生成所有图片的缩略图,这样新尺寸的图才会正常显示。

这样修改后,不同分类的文章就会自动显示对应尺寸的缩略图啦!

内容的提问来源于stack exchange,提问作者Joost Weddepohl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:14:06