Вопрос

Я хотел бы иметь возможность программно обновлять кеш миниатюр, не уверен, где его подключить, но в настоящее время любые изменения в дизайне означают повторную загрузку нагрузки изображений!

Это было полезно?

Решение

Вы можете посмотреть на плагин Регенерировать миниатюры от 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;
    }
}

Примечание. Эта функция не очень масштабируемая. Он пройдет через все изображения и регенерирует миниатюры один за другим, что может потреблять большое количество памяти. Итак, вы можете улучшить его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top