我最近启动了一个新主题,并使用AJAX重建重新生成了所有缩略图。所有这些自定义图像大小都是在functions.php
以及使用它们的各个模板文件。当我去查看我的站点的源代码时,我看不到文件名末尾附加的新图像大小。然而,我确实看到WordPress指定的图像上的类名是新的图像大小。我不明白发生了什么事!
functions.php
if (!function_exists(\'mytheme_setup\')) {
function mytheme_setup() {
add_theme_support( \'post-thumbnails\' );
add_image_size(\'homepage\', 704, 396, true);
add_image_size(\'articles\', 1174, 660, true);
add_image_size(\'in-post\', 568, 320, true);
add_image_size(\'featured-post\', 1280, 683, true);
}
}
add_action( \'after_setup_theme\', \'mytheme_setup\' );
Example of how I call it:
<article id="post-<?php the_ID(); ?>" <?php post_class(\'post_content\'); ?>>
<div class="social-drawer"></div>
<a href="<?php the_permalink(); ?>">
<?php print_meta(); ?>
<?php
if (has_post_thumbnail()) {
the_post_thumbnail(\'in-post\');
} else { ?>
<img src="<?php bloginfo(\'template_directory\'); ?>/img/in-post-568x30-default.jpg" alt="All Features" />
<?php } ?>
</a>
</article>
Update我相信我发现了这个问题。我在临时站点上调整了所有图像的大小,然后将临时站点上调整大小的图像复制到我的生产站点(我目前在那里遇到这些问题)我不知道DB引用了这些图像附件,因为我没有在生产时生成尺寸,WordPress无法在DB中找到正确的引用。
SO网友:Frederick Andersen
这个function.php
:
if ( function_exists( \'add_theme_support\' ) ) {
add_theme_support( \'post-thumbnails\' );
set_post_thumbnail_size( 150, 150 ); // default Post Thumbnail dimensions
}
if ( function_exists( \'add_image_size\' ) ) {
add_image_size(\'homepage\', 704, 396, true);
add_image_size(\'articles\', 1174, 660, true);
add_image_size(\'in-post\', 568, 320, true);
add_image_size(\'featured-post\', 1280, 683, true);
}
使其出现在中。php文件:
<?php if ( has_post_thumbnail() ) { the_post_thumbnail( \'in-post\' ); } ?>
这就是我的建议。