WordPressで画像をアップロードする際にファイル名をタイムスタンプに変更する方法
※本ページはプロモーションが含まれていますWordPressで画像をアップロードすると、画像のファイル名を自動で変換してくれます。
WP Multibyte Patchを有効にしていると、マルチバイト文字列もmd5に変換してくれるので、画像のファイル名はそれほど気にする必要はありません。
しかし、そうやってリネームされたファイルは、名規則がバラバラだったり、やたら長いファイル名になったり、見た目が良くありません。
かといって、ファイル名を考えてひとつひとつリネームするのも面倒なので、WordPressにアップロードする際に画像ファイル名をタイムスタンプにリネームするようにしましたので、その方法を紹介します。
画像ファイルをタイムスタンプにリネーム
下記コードを「functions.php」に追加します。
function img_name_to_timestamp($filename) { $path_info = pathinfo($filename); $ext = empty($path_info['extension']) ? '' : '.' . $path_info['extension']; if( $path_info['extension'] == ('jpg' || 'png' || 'gif')){ $filename = strtolower(time().$ext); } return $filename; } add_filter('sanitize_file_name', 'img_name_to_timestamp', 10);
「if( $path_info[‘extension’] == (‘jpg’ || ‘png’ || ‘gif’)){」部分で、拡張子を確認して画像ファイルか判別しています。
「jpeg」など、他の拡張子の画像をアップロードする際は、ここの判定にアップロードしたい拡張子を追加してください。
おわりに
ファイル名が整っていると、ソースコードを見たときの見やすさも変わってきます。
これを設定しているだけで、画像ファイル名を気にすることがなくなったので、ブログ執筆効率がかなり上がりました。