マルチサイト化でメディアライブラリの設定項目が勝手に変わる

WordPressをマルチサイト化してメディアライブラリの管理画面が変わったときの詳細設定方法です。

マルチサイト化でメディアライブラリの設定項目が勝手に変わる

メディアライブラリは、WordPressで画像などのマルチメディアファイルを扱うための管理機能です。

通常はダッシュボードの「メディア」項にて各種設定を行いますが、サブブログを作ってマルチサイト化すると管理画面の設定項目が勝手に変わるのでちょっと焦ります。

全サイトを一元管理する必要から個別設定を見えにくくする意義は理解するんですが、やっぱ判りにくいのでメモ。

特に断りがない限り作業環境は WordPress ver4.2 以降です。

管理サイト数で変わるメディア設定の管理画面

使用中のWordPressがシングルサイトかマルチサイトかでメディア設定画面における管理項目が変わります。

ダッシュボード > 設定 > メディア

デフォルトの管理画面

まずは管理するブログが一つだけの状態。お馴染みの管理画面はこのようになってると思います。

通常のメディア設定画面

マルチサイトの管理画面

次に、サブブログを設定したときの管理画面です。ファイルアップロードに関する設定が全部抜けちゃってます。

サブブログでのメディア設定管理画面

この消えた設定がどこに行ったかというと、全体設定の「サイト」に移ってます。

参加サイト > サイトネットワーク管理者 > サイト

マルチサイトでのメディア設定

全体設定「サイト」項に移ると各サブブログの設定に入れるので個別にチェックしていきましょう。

サブブログの設定画面

サイトを編集:サブブログ > 設定

下の方までずらーっと見ると以下の項目があります。

  • Uploads Use Yearmonth Folders
  • Upload Path

Uploads Use Yearmonth Folders

「アップロードしたファイルを年月ベースのフォルダに整理」の設定がここに入ります。

  • 0 … 画像をフォルダ分けしません。
  • 1 … 年月名のフォルダに自動で格納されます(例:/2016/04/)

年月ベースが ON になっているとデフォルトではアップロードファイルディレクトリの下で /2016/04/ みたいな感じに、サブブログだと /sites/x/2016/04/ 等になります。

Upload Path

「アップロードするファイルの保存場所」となっている項目です。デフォルトでは /wp-content/uploads/ が設定されてます。

任意のパスを指定するときは root から書いて下さい。ただし画像系プラグインなどで正常に働かなくなる場合があるので注意します。

なお、この項目は「サイト」項での記入の他に wp-config.php に書くことも可能です。

【wp-config.php】
define( 'UPLOADS', 'wp-content/images' );

年ベースフォルダにしたい

年月フォルダで管理するほど画像がないから年ベースにしたいという場合のおまけ。こちらも wp-config.php に設定します。

【wp-config.php】
$year = date( 'Y' );
define( 'UPLOADS', 'wp-content/' . $year );

これ、更新頻度に応じてブログ別に設定できると便利なんですけどね。追って調べておきます。

wordpress – Manage uploads folder to year based only (no month) – Stack Overflow