【发布时间】:2011-02-15 23:12:33
【问题描述】:
我正在构建我的第一个 WordPress 主题,但我遇到了一些问题。
我的functions.php 中有一个名为get_first_photo() 的函数,它抓取每篇文章上传的第一张图片并将其放在博客存档页面上。它工作正常,但它会加载全尺寸图像并使用 CSS 调整其大小。我宁愿它以在 WP 控制面板中设置的缩略图大小加载图像,这样我就没有图像大小的开销。有什么办法可以做到这一点?
这是来自functions.php的代码:
function get_first_photo($id) {
global $wpdb;
return $wpdb->get_var("SELECT guid FROM wp_posts WHERE post_parent = $id AND post_mime_type = 'image/jpeg' ORDER BY id DESC LIMIT 1");
}
这是博客模板:
<?php
get_header(); ?>
<div id="content" class="blog">
<div id="body">
<h3 class="title" id="blog">The Ned Leary Blog</h3>
<?php if (have_posts()) :
query_posts("category_name=blog");
while (have_posts()) :
the_post();
$first_photo = get_first_photo(get_the_ID());
?>
<div class="snippet">
<?php if (!empty($first_photo)) : ?>
<img src="<?php echo $first_photo; ?>" alt="Thumbnail" />
<?php else : ?>
<img src="<?php bloginfo('url'); ?>/images/blog/gravatarBig.jpg" alt="Ned Leary Gravatar" />
<?php endif; ?>
<div class="details">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<h5><?php the_time('D, M j, Y') ?> by <?php the_author('') ?> | <?php comments_popup_link('0 Comments', '1 Comment', '% Comments'); ?></h5>
<?php the_excerpt(); ?>
<h4><a href="<?php the_permalink(); ?>">Read more…</a></h4>
</div>
</div><!--end snippet-->
<?php endwhile; endif;// end of the loop. ?>
</div><!--end body-->
<?php get_sidebar(); ?>
</div><!--end content-->
<?php get_footer(); ?>
【问题讨论】: