如何用WordPress原生图像工具替换TimThumb?

时间:2012-03-02 00:27:01

标签: php wordpress wordpress-theming

我最近开始使用现有的WordPress网站。 WordPress安装上的主题过度使用了TimThumb,而且它确实是不必要的。 WordPress原生图像大小应该能够处理所需的功能。但是,我不知道如何取代TimThumb。

主题文件中有post-thumb.php生成缩略图。该文件如下:     

if (get_option('solostream_default_thumbs') == 'yes') { $defthumb = get_bloginfo('stylesheet_directory') . '/images/def-thumb.jpg'; } else { $defthumb == 'false'; }

$solostream_img = get_the_image(array(
    'meta_key' => 'thumbnail',
    'size' => 'thumbnail',
    'image_class' => 'thumbnail',
    'default_image' => $defthumb,
    'format' => 'array',
    'image_scan' => true,
    'link_to_post' => false, ));

if ( $solostream_img['url'] && get_option('solostream_show_thumbs') == 'yes' && get_post_meta( $post->ID, 'remove_thumb', true ) != 'Yes' ) { ?> 

    <img class="<?php echo $solostream_img['class']; ?>" src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $solostream_img['url']; ?>&amp;w=150&amp;h=150&amp;zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

<?php } 

} ?>

我只想用WordPress内置的the_post_thumbnail('thumbnail')函数替换整个函数。

是否像替换

一样简单
src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $solostream_img['url']; ?>&amp;w=150&amp;h=150&amp;zc=1"

类似

src="<?php the_post_thumbnail('thumbnail'); ?>"

任何想法或正确方向的推动都将受到赞赏。谢谢你的阅读。

2 个答案:

答案 0 :(得分:1)

您可以添加自定义缩略图并在代码中使用它们。

首先,您必须添加主题支持,设置缩略图名称,设置大小和设置大小

add_theme_support( 'post-thumbnails' ); // this enable thumbnails and stuffs
add_image_size( 'mini-thumbnail', 60, 60, true );
add_image_size( 'one-more-size', 300, 260, true );

然后,您可以通过调用以下内容在代码中使用它:

<?php while ( have_posts() ) : the_post();
the_title();
the_post_thumbnail( 'mini-thumnail' );
the_excerpt(); ?>

我们已经实现了这一点。我在实施时使用以下资源作为参考,并获取特定操作的更多详细信息:http://carlorizzante.com/2011/you-dont-need-timthumb-use-add_image_size-for-thumbnails/(我与网站无关)

答案 1 :(得分:0)

我不确定这是否是最有效的方式,但我已经能够通过替换

来实现它
<img class="<?php echo $solostream_img['class']; ?>" src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo $solostream_img['url']; ?>&amp;w=150&amp;h=150&amp;zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

<?php the_post_thumbnail('thumbnail'); ?>