我可以以编程方式刷新缩略图吗?

时间:2010-10-14 作者:Mild Fuzz

我希望能够以编程方式刷新缩略图缓存,但不确定将其挂接在哪里,但目前任何设计更改都意味着重新上传图像!

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

你可能想看看这个插件Regenerate Thumbnails by Viper007Bond.

基本上,这就是如何做到这一点:

function regenerateThumbnails() {

    $images = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_type = \'attachment\' AND post_mime_type LIKE \'image/%\'" );

    foreach ( $images as $image ) {
        $id = $image->ID;
        $fullsizepath = get_attached_file( $id );

        if ( false === $fullsizepath || !file_exists($fullsizepath) )
            return;

        if ( wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $fullsizepath ) ) )
            return true;
        else
            return false;
    }
}
注意:此功能的可扩展性不强。它将遍历所有图像并逐个重新生成缩略图,这可能会消耗大量内存。因此,您可能需要增强它。

结束

相关推荐