エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


WordPressのメディア設定でアップロードするファイルの保存場所を変更する方法

      2017/03/11

メディア設定でアップロードするファイルの保存場所の変更

 

アップロードするファイルの保存場所の変更

 
WordPressの画像やファイルをアップロードする「メディア」に関連する記事を下記の 2つ書いていました。
 WordPressの画像ファイルアップロード・メディアの使い方解説
 WordPressのメディアの設定解説・uploadsフォルダの変更方法
 
その中で書いていますが、WordPress Ver.3.5までは「メディア設定」画面からアップロードするファイルの格納場所を簡単に変更することができましたが、Ver.3.6以降はこれらの項目が「メディア設定」の画面からはなくなり、変更することができなくなりました。
 
20160517_wp_01
 
この「アップロードするファイルの保存場所」「ファイルへの完全な URL パス」の入力エリアを復活させる方法を解説します。
プログラムを変更したり、プラグインを入れたりせず、もともと用意されている機能を利用する簡単な方法です。
 
 

オプションの「全ての設定」画面を利用

 
下記のような感じで、「wp-admin」の後ろに「options.php」を追加した URLにアクセスします。(管理画面へのログインは必要です。)
 
 サンプルURL
  http://example.com/wp-admin/options.php
 
そうすると、下記のような「すべての設定」画面が表示されます。
20160517_wp_02
 
 
ここに下記の項目がありますが、これが「アップロードするファイルの保存場所」「ファイルへの完全な URL パス」となる項目です。

  • upload_path
  • upload_url_path

 
「upload_path」は、「アップロードするファイルの保存場所」に当たり、ファイルをアップロードする場所までのパスを記述します。
相対パスで書く場合は、「wp-config.php」が置いてある場所からのパスになります。
絶対パスで書く場合は、サーバのルートからのパスを記述します。ドキュメントルートからのパスではありません。
 
「upload_url_path」は、「ファイルへの完全な URL パス」に当たり、ファイルを呼び出す際の URLを記述します。
URLを記述する際に「home_url()」などの関数は使えないんじゃないかと思います。
 
 
ここで設定するアップロードファイルの保存場所となるフォルダは、あらかじめ作っておく方がよさそうです。
 
指定したフォルダは、ファイルをアップロードする際に存在しなければ自動的に生成されます。
ですが、フォルダ、および、ファイルのパーミッションが適切なものにならない可能性がありますので、あらかじめ適切なパーミッションを設定したフォルダを用意しておく方がよさそうです。
(自動生成されたフォルダのパーミッションを後から変更しても問題ありませんが。)
 
 
ちなみに、「メディア設定」の画面の「upload_path」「upload_url_path」の値を削除すると、「メディア設定」画面には項目ごと表示されなくなります。
 
 


 

メディア設定画面で保存先を変更するメリット

 
WordPressをブログなどのツールとして利用する上で、メディア設定のファイルの保存先の設定を変更する必要は出てきません。
 
ですが、「WordPressの管理画面と公開画面を別のドメインに分離して運用する方法」で解説していますが、セキュリティ上のリスクを軽減するため、管理画面と公開画面を分離し、管理機能がある場所を分からなくしようとした場合には、ファイルの保存先は任意に設定する必要が出てきます。
 
そういう場合にも対応できるようになっている機能といえるでしょう。
 
 

メディア設定画面で保存先を変更する際の注意点

 
WordPressを新規でインストールする際に、メディア設定画面で保存先を変更する場合は特に問題は起こりませんが、すでに運用中のサイトで行う場合は、大きな手間が発生する場合があります。
 
既存の「uploads」フォルダを移動させたり、既存の記事内の「uploads」フォルダの中の画像のパスの書き換えなどの修正作業が必要になります。
記事内の情報を一括検索、置換する際には「Search Regex」というプラグインがあり、「Search RegexでWordPress投稿の文字列を検索・置換する使い方解説」との記事で紹介していますが、運用中のサイトに実行する際は十分に検証を行ってから利用してください。
 
 

wp-config.phpに定数「UPLOADS」を設定する

 
このページで解説している「upload_path」「upload_url_path」の設定ですが、似たような機能として「UPLOADS」という定数があります。
 
wp-config.php に下記のように変数を指定することで、「upload_path」を指定することと同じように設定することが可能です。
 

 
ですが、「upload_url_path」に当たる定数をどう設定するのかが分かりませんでした。
そのため、定数で指定する方法ではうまく動作させることができませんでした。
少なくとも「UPLOAD_PATH」「UPLOADS_PATH」「UPLOAD_URL_PATH」「UPLOADS_URL_PATH」ではありませんでしたね。
 
「upload_url_path」に当たる定数を指定する方法をご存知の方、教えてください!

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法

WordPressのカテゴリやタクソノミーに編集する項目を追加する方法の解説。Advanced Custom Fieldsを使うと簡単。テンプレートに記述する方法も解説。

Advanced custom Fieldsのフィールドグループを簡単に複製する方法

Advanced custom Fieldsのフィールドグループの複製の方法の解説。XMLのExport、インポートする機能を利用して複製します。

WordPressの記事編集で文字が自動変換される要注意な文字列

記事を編集する際、入力した文字とは違う表示のされ方をする文字、アポストロフィ、ダブルクォート、円マーク、三点リーダ(…)など、その解説と対応方法です。

Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法

Advanced custom Fieldsには登録できるフィールド数に上限があります。php.iniのmax_input_varsによる制限ですが、フィールドグループを分割することで解決できます。

WordPress初心者向け講座・詳細解説データベースとは何か?

データベースとは何か?を言葉の意味の説明なども含めエクセルと比較しながら説明しています。

WordPressの投稿プレビューのURLを変更する方法

プレビューを表示する際のURLを変更する方法の解説。「サイトアドレス (URL)」に基づいて編集されるURLを任意のURLに変更する場合の方法とその解説を行います。

WordPress 画面が真っ白になる対応の一つ デバッグモード

WordPressで画面が真っ白になる不具合があった場合などのために用意されているデバッグモードの解説です。

wp_mail()関数でWordPressのスパム対策済のメールフォーム作成

WordPressでメール送信フォームを作成するための関数「wp_mail()」の使い方の解説。CC、BCC、添付ファイルも HTMLメールも設定可能。

WordPress初心者向け フォルダ構成・データベース構成解説

BackWPupその11。バックアップを取るために必要なファイル、データベースの解説をします。

WordPressの不正ログインを Force email loginで回避

WordPressのセキュリティ強化に Force email loginを使う理由と設定方法の解説をしています。