WordPress マルチサイトで「favicon.ico」をアップロードさせる

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

マルチサイト機能の有効後にファビコンをアップロードしようとすると
「このファイルタイプは許可されていません。別のファイルをお試しください。」
とエラーになります。アップロードを許可していない拡張子のためエラーになってい事が原因です。

アップロード可能な拡張子は、「wp-includes」内にあるfunctions.phpの「wp_get_mime_types()」関数 で確認することができまが「’ico’ => ‘image/x-icon’」と記載されています。マルチサイト機能で設定が上書きされているようです。マルチサイト機能の管理画面に項目が追加されています。

管理画面から設定する場合

一番簡単な手順です。管理画面の操作で対応可能です。

「サイトネットワーク管理者」-「設定」-「ネットワークの設定」を選択します。

theme3

「アップロード可能なファイル形式」という項目に拡張子「ico」を追加します。

theme4

関数を追加する場合

ソースを直接書き換える場合は関数を追加して対応します。

「管理メニュー」-「テーマの編集」を選択します。

theme

「functions.php」を選択し、設定を追加します。

theme2

 add_filter('upload_mimes', 'custom_upload_mimes');

 function custom_upload_mimes ( $existing_mimes=array() ) {
   $existing_mimes['ico'] = 'images/ico';
   return $existing_mimes;
 }

最終手段の場合

上記の設定を入れても何故か動かないがあります。そんな時は余り悩まずwp-config.phpファイルを修正します。

define('ALLOW_UNFILTERED_UPLOADS', true);

すべての形式ファイルをアップロード可能にします。アップロードが終れば削除してください。