システム開発・構築の神様

新しいサービスや技術を使った開発や構築。その他不具合解決など

Wordpressのメディアファイルをユーザーの種類・権限(role)単位で制限する

Wordpressを使ってCMS開発を行っていると、会社や組織でいろいろなカスタマイズ要件がでてくると思います。

その中でも、メディアファイルを自分がアップロードしたファイルに限定したり、組織単位で限定したりする場合があります。

WordPressで他の人がアップロードした画像を参照できないようにするためには?

投稿者単位で制限する場合は、プラグインを利用すると簡単に行うことができます。

View Own Posts Media Only

ja.wordpress.org

など

プラグインを使わなくても、自前でfunctions.phpへコードを記載することも可能です。

pre_get_posts など

ただ

WP_Queryのオプションを見る限りでは

author (整数) - ユーザーID

指定はありますが、role ID 指定は存在していないようですね。

一括でサクッと指定することができなさそうです。

この結果

メディアファイルを自分意外に見せない設定は、簡単に行えます。

ユーザーの種類・権限(role)単位で制限をする場合は、roleのメンバー全てを取得してから、設定することになりそうですね。