GMO DevelopersDay
GMO DevelopersDay
2024.11.29Fri - 11.30Sat YouTube Live
イベント開催まであと6

WordPressでPDFなどのファイルをアップロードできない問題を解消

本記事では、functions.phpファイルを使用して、アップロードエラー「このファイルタイプをアップロードする権限がありません。」を解消する方法を紹介いたします。

はじめに

WordPress管理画面のメディアライブラリは、画像や動画など様々なファイルのアップロードが可能ですが、PDFやSVGなど特定の拡張子のファイルをアップロードしようとするとエラーが表示される場合があります。

本記事では、functions.phpファイルを使用して、アップロードエラー「このファイルタイプをアップロードする権限がありません。」を解消する方法を紹介いたします。

「このファイルタイプをアップロードする権限がありません。」のエラー

WordPressのメディアライブラリに、PDFファイル(.pdf)をアップロードしようとすると、
このファイルタイプをアップロードする権限がありません。」というエラーが表示される場合があります。


メディアライブラリにアップできるファイル容量には制限がありますが、アップロードしようとしたPDFファイルは容量を越えていません。
ユーザ権限の設定にも問題は無く、画像ファイルのアップロードは可能です。

では、何故エラーが発生するのでしょうか。
環境起因の問題もあるため一概には言えませんが、「このファイルタイプをアップロードする権限がありません。」というエラーメッセージから、アップロードするファイルタイプや拡張子の取り扱いに問題がある可能性があります。

functions.phpによる解消方法

問題がファイルタイプに関連している場合、functions.phpに対象の拡張子とMIMEタイプの設定を追加することで解消できます。

function upload_mimes_permission( $mimes ) {
    $mimes['pdf'] = 'application/pdf';
    return $mimes;
}
add_filter( 'upload_mimes', 'upload_mimes_permission' );

上記のコードはPDFを対象にしたコードです。
‘upload_mimes’フィルターを使用して、許可されたMIMEタイプの一覧にPDFのMIMEタイプを追加しています。

この処理の追加後、管理画面をリロードし、再びPDFファイルをアップロードすると、「このファイルタイプをアップロードする権限がありません。」のエラーが解消され、アップロードに成功しました。

PDF以外のファイルでも同様に解決

PDF以外のファイルでも「このファイルタイプをアップロードする権限がありません。」というエラーが表示されることがあります。
例えばSVGファイルの場合は以下のコードを使用します。

function upload_mimes_permission( $mimes ) {
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}
add_filter( 'upload_mimes', 'upload_mimes_permission' );

コードのポイント

以下の部分がSVGファイル用の設定です。

$mimes['svg'] = 'image/svg+xml';

image/svg+xml 部分のMIMEタイプを適正な値に変えれば、希望の拡張子を取り扱えます。

複数拡張子への対応方法

複数の拡張子に対応する場合でも、同じ処理内でまとめることができます。
以下のコードは .pdf / .svg / .webp の3つの拡張子に対応する場合の例です。

function upload_mimes_permission( $mimes ) {
    $mimes['pdf'] = 'application/pdf';
    $mimes['svg'] = 'image/svg+xml';
    $mimes['webp'] = 'image/webp';
    return $mimes;
}
add_filter( 'upload_mimes', 'upload_mimes_permission' );

終わりに

PDFファイルをアップできないときに考えられる問題点は多数あります。
その中でも今回は「このファイルタイプをアップロードする権限がありません。」のエラーをfunctions.phpを使って解決する方法に焦点を当てて紹介いたしました。

この記事がエラー解消の手助けになれば幸いです。

ブログの著者欄

技術広報チーム

GMOインターネットグループ株式会社

イベント活動やSNSを通じ、開発者向けにGMOインターネットグループの製品・サービス情報を発信中

採用情報

関連記事

KEYWORD

採用情報

SNS FOLLOW

GMOインターネットグループのSNSをフォローして最新情報をチェック