ワードプレスのメンバーとして寄稿者や投稿者の権限で登録する場合がありますが、記事に貼り付ける画像としてアップロードしたものが、他の人にも見えたりすると結構面倒。

間違って削除されたりするのを避けるため、寄稿者や投稿者には自分がアップロードした画像(メディア)だけが見える、としたいところです。

これにはちょっとしたコードを追加するだけでできるので、是非試してみてください。

権限が「寄稿者」の場合

登録したメンバーの権限が、寄稿者、投稿者と混ざっている場合があると思いますが、まずは寄稿者の場合から。

以下のコードを追加すると、寄稿者であるメンバーAさんがいたとして、Aさんがログインして画像をアップロードすると、その画像はAさんのみに表示されます。(逆にAさんには他の人がアップロードした画像は表示されない)

このコードは、以下を行ってます。

  • 1)ログインしている場合で、
    (is_admin())
  • 2)権限が「寄稿者」の場合
    (current_user_can( ‘contributor’ ))
  • 3)その人がアップロードした画像だけをピックアップ
    ($where .= ' AND post_author='.$current_user->data->ID;)

権限が「投稿者」の場合

続いてメンバーが「投稿者」の場合、同じことをするには以下のコードでOK.

このコードは、以下を行ってます。

  • 1)ログインしている場合で、
    (is_admin())
  • 2)権限が「投稿者」の場合
    (current_user_can('author'))
  • 3)その人がアップロードした画像だけをピックアップ
    ($where .= ' AND post_author='.$current_user->data->ID;)

権限が「寄稿者」の場合との違いは2)だけ。

「寄稿者」「投稿者」両方の場合

では、権限が「寄稿者」「投稿者」と混ざっていて、その人がアップロードした画像はその人だけに表示する、としたい場合のコードは以下。

このコードは、以下を行ってます。

  • 1)ログインしている場合で、
    (is_admin())
  • 2)権限が「寄稿者」または「投稿者」の場合
    (current_user_can('author') or current_user_can('contributor'))
  • 3)その人がアップロードした画像だけをピックアップ
    ($where .= ' AND post_author='.$current_user->data->ID;)

上で見た「寄稿者」のみを対象とした場合と「投稿者」のみを対象とした場合との違いは、2)だけ。

実際にコードを追加してみる

上で見たコードは 「テーマのための関数」(functions.php)に追加します。

  • ①、②:「外観」から「テーマエディター」を選択
  • ③:「テーマのための関数」(functions.php)を選択
  • ④:必要なコードをコピペ
  • ⑤:「ファイルを更新」をクリック!

以上で終わり!

権限が「投稿者」や「寄稿者」の仮のメンバーを登録したりして、そのメンバーではその人がアップロードした画像だけが表示されるか確認してみてくださいね。

注意

functions.php の編集は、間違うとブログが表示できなくなるなど、重大な問題にもつながります。できればローカル環境やテストサイトで一度問題ないか試してみると良いです。

参考)
ワードプレスをパソコン上で動かす!XAMPPのインストール方法を詳しく解説

今回のポイント

投稿一覧もそうですが、複数人でブログを運営すると、いろいろとごちゃごちゃしがちです。

アップロードする画像もその人が使っているものはその人だけに表示される、とすると、見分けがつきやすいし、他の画像を誤って削除してしまう、などもなくなり安心ですね。

ブログを加速させる、収益を大きくしていく、という点では外注化も必須と言ってもよい位置づけであり、外注化を上手に活用するために、こうした点にも気を付けて行くといですよ。

また、ネットビジネスを更に拡大させたい、逆に一から順を追って生美治したい、などでは、以下のメルマガにも是非登録してみてくださいね。

早期退職して海外で奮闘する JIN のメールマガジン

時間や場所に縛られず稼いだJINが教える

~ 最短で月収10万円稼げるようになる方法 ~

お名前(全角文字)

隣のあの人にも、思わず教えたくなる秘密

配信停止は、いつでもできます

迷惑メールは一切配信されませんので、ご安心くださいね

自らの手で未来を変える力を手に入れる!