サポート » 使い方全般 » WPからダウンロードしたファイル名を指定したい

  • 解決済 ryomk

    (@ryomk)


    WPにpdfやEXCEL、zipなどのファイルをアップロードしました。
    そのファイルのURLを、記事にリンクを貼ってダウンロードできるようにしています。

    実際に自分でダウンロードしてみたら、
    ファイル名が、「783640b3dd2f96.pdf」のようになっていました。
    (アップロードしたときは、日本語でファイルの内容を書いたものでした)

    WPにアップロードしたファイルを、記事からダウンロードしたとき、
    アップロードしたときのファイル名で保存できるようにするには、どのようにすれば良いでしょうか?

    ダウンロードしたときのファイル名を日本語にするのが無理なら、
    ダウンロードしたときのファイル名を、指定のローマ字にすることは可能でしょうか?

    また、pdfへのリンクをクリックしたときのURLに、アップロードした日付が付きます。

    これを無くして、ファイル名だけにしたいのですが、
    これはどのようにすれば、できますでしょうか?`

    よろしくお願いいたします。

    • このトピックはryomkが2年前に変更しました。
6件の返信を表示中 - 1 - 6件目 (全6件中)
  • kimipooh

    (@kimipooh)

    WP Multibyte Patch プラグインがインストールされていませんか。

    入っていない場合には、分かりませんが、もしインストールされていて有効の場合、
    https://highfivecreate.com/blog/wordpress/5936.html#i-2
    などにあるように、日本語等マルチバイトのファイル名は、トラブルを避けるために MD5 ハッシュ化されたファイル名になります。

    おそらくはマルチバイトの場合、
    https://runebook.dev/ja/docs/wordpress/functions/sanitize_file_name
    などにあるように WordPress における安全なファイル名にするためのサニタイズが効果がなくなってしまうセキュリティ的な問題(あるいは意図しない動作をする)でそうしているのかもしれません。

    その辺のリスクは自己責任でということなら
    下記を参考にこのプラグインのファイル名の変換機能(サニタイズ)を無効化しておくのがよいかと思います。
    https://webjin.work/how-to-upload-the-file-name-of-the-japanese-in-wordpress/

    トピック投稿者 ryomk

    (@ryomk)

    回答ありがとうございます!

    つまりは、サーバー移転の予定がなければ、
    3つ目に貼っていただいたURLの作業で、文字化けせずにできるということですね?

    サーバー移転はしないので、一通りやってみようと思います。

    また、上記作業で、pdfリンクの日付は消えるでしょうか?

    https://〇〇.com/wp-content/uploads/2022/04/ファイル名.pdf
    の日付を表示させないようにしたいです。

    よろしくお願いいたします。

    kimipooh

    (@kimipooh)

    日時は、WordPress 仕様です。
    メディアによってアップロードされたファイルは、年月のフォルダにわけて保存されます。
    これを変更する場合には、WordPress の管理画面より 設定 > メディアにある「アップロードしたファイルを年月ベースのフォルダに整理」のチェックをオフすることです。

    ただし、すでにアップロードしたものは変更できないと思います。
    すでにアップロードされたものは、.htaccess が利用できるなら、リダイレクト(転送)などをつかうか、再度登録し直す(消してアップロードしなおして、登録しなおす)必要があります。

    すでにアップロードしたものは駄目ですが、新規でアップロードしたものについては文字化けしないはずです。
    ただ利用しているシステム(他のプラグイン等)によって駄目な場合もあるかもしれませんので、可能ならテスト環境を構築(WordPressのデモサイト、あるいは同じサイトのクローンとか)してテストしてみるのがよいかと思います。

    トピック投稿者 ryomk

    (@ryomk)

    返信ありがとうございます!

    1./wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php を/wp-content/ 直下にコピー
    2.コピーした、wpmp-config-sample-ja.phpを wpmp-config.phpというファイル名に変更
    3.wpmp-config.php を編集し、$wpmp_conf[‘patch_sanitize_file_name’] の値をtrueからfalseに変更

    ↑こちらをやってみたところ、
    ーーー
    このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。

    WordPress のトラブルシューティングについてはこちらをご覧ください。
    ーーー
    という画面になってしまいます。
    (wpmp-config.phpを削除したら、元に戻ります)

    このエラーがでないようにするには、どのようにすればよいですか?

    サブディレクトリと切ったサイトを編集しています。(https://〇〇.com/〇〇/)
    それの影響かもしれないと思いましたがどうでしょうか?

    よろしくお願いいたします。

    kimipooh

    (@kimipooh)

    1./wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php を/wp-content/ 直下にコピー
    2.コピーした、wpmp-config-sample-ja.phpを wpmp-config.phpというファイル名に変更

    上記までは問題ないということでしょうか。

    また、
    $wpmp_conf[‘patch_sanitize_file_name’]
    上記について、シングルクォーテーションが、違う文字になっている可能性があります。
    ウェブからコードをコピーすると上記のようにおかしくなる場合があります。
    まずは確実に、シングルクォーテーションかどうか確認してみるのがよいかなと思います(手動で入力し直すなど)。
    $wpmp_conf['patch_sanitize_file_name']

    トピック投稿者 ryomk

    (@ryomk)

    返信ありがとうございます!

    1,./wp-content/plugins/wp-multibyte-patch/wpmp-config-sample-ja.php を/wp-content/ 直下にコピー
    のコピーというのは、wp-multibyte-patch/に残してコピーするのではなくて、
    残さずに移す。ということなのかな思いました。

    ためしに、残す・残さないを両方してみましたが、変わらず。

    改めて、最初から同じ手順でやってみたら、なぜかできていました。
    ちょっと原因は不透明ですが、良かったです。

    返信いただきありがとうございました!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「WPからダウンロードしたファイル名を指定したい」には新たに返信することはできません。