WordPressの画像をアップロードするときに自動的に名前を『英数字の羅列』に変更する方法
どうも、ZUMAです。
WordPressに画像をアップロードするとき、ファイル名に気をつけていますか?
具体的に言うと、日本語ファイルをアップロードしちゃったりしてませんか!?
例えば、ばかやろう.jpgというファイルをアップする
そうすると、WordPress上のメディアではこのように表示されます。
もちろん、ファイル名が日本語のまま!ばかやろう.jpg
実はコレ、かなり危険です!
日本語のファイル名というのはめちゃくちゃトラブルを生みやすいんです。
特にサーバー移動時にはトラブルを生みます。
画像ファイルは常に英語表記のファイル名にしましょう!!!
[voice icon=”https://route269.com/wp-content/uploads/2018/06/denkiiruka.jpeg” name=”電気イルカ” type=”l”]
毎回リネームするのメンドクセーだろうが
[/voice]
という人も多いと思います。
そんな方のために、今回はWordPress上でファイル名を自動でリネームする方法をご紹介します。
[box class=”blue_box” title=”Special Thanks!!!!”]
今回は、LABE様のれいぶろぐを参考にさせていただきました!
https://labelog.net/post/460
誠にありがとうございます!!!!
[/box]
fanctions.phpを編集する
今回はプラグインは一切使いません。
テーマのfanctions.phpというファイルを編集します。
今回は、STORK customのテーマを例に紹介しています。
手順は以下の通り
WordPressにログイン後、①外観→②テーマの編集へ進みます。
テーマ編集を開いた、①の部分が自分が編集したいテーマになっていることを確認します。
そして、②のfunctions.phpをクリックします。そうすると、編集画面が開くので、③の部分にコードをコピペします。
(コードは下記にあります)
LABE様のれいぶろぐから参考にしている下記のコードをコピーします。
↑のようにペーストできたら、保存します。
function rename_file_md5($fileName) {
$i = strrpos($fileName, '.');
if ($i) $Exts = '.'.substr($fileName, $i + 1);
else $Exts = '';
$fileName = md5(time().$fileName).$Exts;
return strtolower($fileName);
}
add_filter('sanitize_file_name', 'rename_file_md5', 10);
作業はこれで完了です!!
[aside type=”warning”]
こんな表示が出たら絶対に保存しないでください!!!サイトが壊れる可能性があります。
これの原因はfunction.php以外に貼り付けたときに起こりやすいです。
貼り付ける先のファイルを確認してください。
[/aside]
実際に画像をアップロードしてみましょう
試しに同じファイルをアップロードしてみます。
このようにファイル名が英数字の羅列になっていれば完了です!
これでファイル名を気にせずアップロードできるようになりました。
複雑文字の羅列なので、まずファイル名がかぶることはありません。
以上、ファイル名を自動的に英数字の羅列に変更する方法でした!