経験知ロゴ

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

わからないことは人に聞こう

プログラミングをする上で、わからないことはネットなどを使い自分で調べる技術が必要ですよね。

時間がかかっても、ある程度のことは解決できます。

しかし、どうしても答えにたどり着けなかったり、探す時間が惜しいときもあります。

そこでオススメなのが無料登録でプログラミングに関する質問ができるテラテイルです。

質問の投稿にコードも投稿できるので、自分のコードを投稿して問題のある箇所を指摘してもらうことができます。

プログラマーには、自分で探す技術も必要ですが、人に聞く技術は更に重要です。

登録無料で質問できますので、テラテイルで質問する力を磨いてみましょう!

おわりに

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

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

▼役に立ったらシェアをお願いします