WordPressで画像をアップロードする際に、ファイル名を数字で置換

0

数年前まで、ハングルのURLをサポートしていないWebホスティングが結構ありました。 特に Bluehost など海外のホスティングでは、ハングルと関連して問題がなかったが、国内のWebホスティングで、URLにハングルを使用することができない問題が発生する笑えないことが発生しました。

最近では、URLにハングルが含まれる場合、エラーが発生する問題が多く解決されたようです。 しかし、まだまれですが、URLにハングルが含まれる場合、問題が発生するホストがあります。 また、サーバーを直接セッティングする場合にサーバの設定を誤って、URLにハングルが含まれる場合、問題が発生する場合もあります。

URLにハングルが含まれる場合、問題が発生した場合 WordPressで固有のアドレスを数字で表示するように設定してくれればされるがSEO的な側面では望ましくありません。

そして、ハングルURLに問題が発生した場合、ファイル名に日本語が含まれているメディアファイル/画像ファイルをアップロードすると、図が破れ出るようです。 そのような場合、次のコードを使用してアップロードする画像のファイル名を半角英数に変えて与えることができます。

/**
* Produces cleaner filenames for uploads for non-latin languages
* 업로드 시 파일 이름에서 한글 등 비영문 문자 제거하기
*
* @param string $filename
* @return string
*/
function change_none_latin_file_name( $filename ) {

$extension = end(explode(".", $filename));

$append = date('YmdHis');
$sanitized_filename = 'image-' . $append . '.' . $extension;

return $sanitized_filename;
}
add_filter( 'sanitize_file_name', 'change_none_latin_file_name', 10, 1 );

ファイル名を 画像20180904135743.jpg 形式で表示されるように設定してみました。 数字の部分は、現在の日付(時分秒を含む)を意味します。

Avadaがインストールされて WordPress サイトでテストしてみると問題なく動作しますね。 他の環境でも正常に動作するようだが、環境に応じて問題を起こす可能性もあります。

PHPの門外漢なのでしっかりとしたコードかは分かりません。 頭の中に思いつくまま適当に作ってみました。 もし文法にエラーがある場合 ここで軽く教えてください。

ちなみに画像のファイル名にハングルが含まれる場合、後日サイトを移転(Migration)するときにも、イメージファイルが壊れてエラーが発生することがありますので、なるべく画像のファイル名にハングルが含まれていない方がよいことがあります。

メモ:

コメントを残す

コメントを入力してください!
名前を入力してください