仅当帖子缩略图使用timhumb存在时才显示

时间:2011-08-23 作者:Aayush

我在我的wordpress网站上使用timthumb作为图像大小管理脚本,但我刚刚注意到,即使没有缩略图,也会显示一个空的图像标记。

<?php if(has_post_thumbnail()):
    $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'full\');
?>
    <div class="wp-caption alignright">
        <img src="<?php bloginfo(\'template_url\'); ?>/scripts/timthumb.php?src=<?php echo $src[0]; ?>&w=145&h=80&q=100&zc=1" height="80" width="145" alt="<?php the_title(); ?>" class="wp-post-image" />
        <p class="wp-caption-text"><?php the_post_thumbnail_caption(); ?></p>
    </div>
<?php endif; ?>
我这样做是因为我想随时显示标题。我也试着用php来完成这一切。我从来没有这样做过,所以我不确定它是否正确,但它也显示了同样的内容,并且在图像之前回显了模板的url。

<?php if(has_post_thumbnail()){
    $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'full\');
    echo \'<div class="wp-caption alignright">
        <img src="\'. bloginfo(\'template_url\') .\'/scripts/timthumb.php?src=\'. $src[0] .\'&w=145&h=80&q=100&zc=1" height="80" width="145" alt="\'. the_title() .\'" class="wp-post-image" />
        <p class="wp-caption-text">\'. the_post_thumbnail_caption() .\'</p>
    </div>\';
} ?>
我是不是做错了什么。img标签在条件内,对吗?每一篇帖子都会出现一个破损的图片占位符下图

broken image placeholder

谁能告诉我代码有什么问题吗。

谢谢

我感谢所有的帮助。

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

如上所述,您根本不必使用TimThumb来为上载的图像获取额外的图像大小。

WordPress附带add_image_size() 作用

// functions.php
add_action(\'init\', \'wpse26655_add_additional_image_sizes\');
function wpse26655_add_additional_image_sizes() {
    add_image_size(\'thumb200x120\', 200, 120, true);
}
在模板文件中,可以使用所需的图像大小查询缩略图。例如。

<?php
// single.php / loop-content.php

$thumbId = get_post_thumbnail_id();

if($thumbId) :
    $thumbSrc =  wp_get_attachment_image_src($thumbId , \'thumb200x120\');
    $thumbUrl = $thumbSrc[0];
    $thumbWidth = $thumbSrc[1];
    $thumbHeight = $thumbSrc[2];
?>

<div class="post-thumbnail">
    <img src="<?php echo $thumbUrl; ?>" width="<?php echo $thumbWidth; ?>" height="<?php echo $thumbHeight; ?>" />
</div>

<?php endif; ?>
注意:附加图像大小是在图像上载时生成的。如果要为MediaLibrary中的现有图像创建新尺寸,则必须重新创建所有缩略图。用于此目的的一个非常好的插件是Regenerate Thumbnails.

结束

相关推荐

网站仅供通过不同PHP应用程序身份验证的用户使用

我有一个定制开发的销售系统(在PHP中,假设它是domain.com),我想在其中添加信息部分。我认为最好通过Wordpress发布信息(例如发布在subdomain infos.domain.com上),而不是从头开始开发它。问题是我想让它只对登录到域的用户可用。com系统。所以当有人输入信息时。领域他看到一些文本,如“请登录到domain.com”。当有人登录到域时。他应该能够阅读信息中的所有页面。领域com。无需对其进行注释(只读即可)。我从管理员的角度了解Wordpress,我试图找到一些插件来解