経験知ロゴ

WordPressで画像をアップロードする際にファイル名をタイムスタンプに変更する方法

※本ページはプロモーションが含まれています

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」など、他の拡張子の画像をアップロードする際は、ここの判定にアップロードしたい拡張子を追加してください。

おわりに

ファイル名が整っていると、ソースコードを見たときの見やすさも変わってきます。

これを設定しているだけで、画像ファイル名を気にすることがなくなったので、ブログ執筆効率がかなり上がりました。

役に立ったらこの記事のシェアをお願いします

ブログのフォロー・RSS購読は下記ボタンから