サムネイルをプログラムで更新できますか?
-
16-10-2019 - |
質問
サムネイルキャッシュをプログラムでリフレッシュできるようにしたいのですが、どこにフックするかはわかりませんが、現在、デザインの変更により、大量の画像が再アップロードされることを意味します。
解決
プラグインを見たいかもしれません 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;
}
}
注:この機能はあまりスケーラブルではありません。すべての画像をループし、サムネイルを1つずつ再生し、大量のメモリを消費する可能性があります。だから、あなたはそれを強化したいかもしれません。
所属していません wordpress.stackexchange