エス技研

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.

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

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

  関連記事

Advanced Custom Fieldsの全項目解説・公開側表示編集編

Advanced Custom Fieldsは現時点でカスタムフィールドを設定する最高のプラグイン。それで入力した情報を取り出す方法を全て網羅して解説しました。

WP Basic AuthなどWordPressにBasic認証を設定するプラグインのまとめ

WordPressにBasic認証を設定する方法のまとめ。プラグインを使う方法と.htaccessで設定する方法を紹介。公開側、ログインページをそれぞれ設定できます。

BackWPupでバックアップ・Jobの設定・保存する情報の設定

BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。

BackWPupでWordPress以外のファイル、データベースをバックアップ

BackWPupその10。BackWPupはWordPressのバックアップ用のプラグインですが、WordPress以外のテーブルやファイルをバックアップする方法の解説です。

Advanced Custom Fieldsの関数の全部の使い方を調べてみた

Advanced Custom Fieldsに用意されている関数を全て調べてみた。よく使うget_field、the_field以外にも多くの関数が用意されていて、フォームを作成することも可能。

Better Delete Revisionを使って WordPressのリビジョンを削除する方法

自動的に溜まるリビジョンは Better Delete Revisionを使うことで簡単に削除することが出来ます。表示の重さを軽減したり、バックアップファイルのスリム化に貢献します。

WordPressの画像ファイルアップロード・メディアの使い方解説

画像ファイルをアップロードするメディアの使い方解説。アップロードしたファイルの管理や編集、ファイルのURL、アップロード先の解説。

カスタムフィールドの検索処理をget_posts()関数のmeta_queryで作成しそれを解説

カスタムフィールドを条件検索・抽出する機能開発の解説。サンプルソースをコピペすればOK。詳細解説もあるのでカスタマイズもできる!

Unveil Lazy LoadでWordPressを高速化!SEO効果絶大でPVもアップ!

WordPressの表示を高速化するUnveil Lazy Loadの紹介。利用するJSを見直し高速化を徹底的に追求したプラグイン。入れるだけで高速化するので使わない手はない!

WordPressにプラグインを使わず OGP(Open Graph Protocol)の設定方法解説

WordPressに OGP(Open Graph Protocol)をプラグインを使わずに設定する方法の解説。