エス技研

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管理画面の全項目完全解説・カスタムフィールド決定版!

カスタムフィールドを設定する最高のプラグイン。設定できる項目を全て網羅して解説。投稿の項目だけではなく、カテゴリやユーザ情報の項目を増やすことにも使えます。

WordPress環境を引越し、複製、バックアップ、リストアの手順解説

WordPress環境を引っ越し、複製、バックアップの手順書です。本番から開発、開発から本番、バックアップからのリストアなど環境を移す時の方法と手順の解説。

WordPressのプラグイン WP-DBMANAGERを使って PHP、CakePHP、baserCMSなどで作った Webサービスのデータベースも自動バックアップ

WP-DBMANAGERを使って WordPress以外の PHP、CakePHP、baserCMSなどで作った Webサービスのデータベースも自動バックアップする方法を解説。

AdminerはWordPressのデータベース管理プラグインの決定版!

データベース管理プラグインはAdminerがあれば他に必要ありません。なぜならDB管理ツールAdminerと同じものをプラグインとして提供しているからです。

WordPressのおすすめの確認画面付きお問い合わせフォームプラグイン・MW WP Form

MW WP Formは確認画面が付いているオススメのフォームプラグインです。企業サイトを CMSとして構築する際にも利用できる実力派です。

WordPressのPing・更新情報サービス設定方法とPingサーバ

WordPressのPing機能、更新情報サービスの設定方法の解説と Pingサーバのリストを提供しています。

WordPressの functions.phpがある場所

WordPressのカスタマイズには大切な functions.phpですが、最初はその場所がどこなのか分かりませんのでその説明をしています。

WordPressのパーマリンク設定の考え方

基本設定の一つであるパーマリンクの設定について解説。パーマリンクはURLを決定づける重要な項目ですので、設定の意味を理解して希望するURLになるよう設定しましょう。

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

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

Custom Field Templateで簡単にカスタムフィールドをフル活用

カスタムフィールドを簡単に設定するプラグイン。簡単にカスタムフィールドが管理で来て作業効率が数倍にアップします!