外注化など複数のメンバーが同じワードプレスで作業をする場合、直接記事作成や投稿ができるように、メンバーとして寄稿者、投稿者の権限を設定する場合があります。
ただ寄稿者も投稿者でも、投稿一覧では自分の作成した記事だけでなく全ての記事が見えてしまうことから、
- 投稿一覧では、その人が作成した記事のみ(自分の記事のみ)を表示させたい
- 他の人が作成した記事は見えなくしたい、
など、作業の分かりやすさから、自分の記事だけが見える、他の記事は見えないくしたいという場合もありますね。
プラグインを探してましたが、そうしたものが見つからず、でもfunctions.phpにちょっとしたコードを追加すれば実現できましたのでご紹介です。
投稿一覧での工夫
やりたいことは以下の通り。
- Aさんを寄稿者(または投稿者)としてユーザーに追加した。
- Aさんが投稿一覧を見た場合、Aさんが作成した記事のみが一覧で表示される
寄稿者と投稿者の違いは、寄稿者は記事作成はできますが、実際の投稿は行えない、投稿者は投稿までも行える、というものです。
以下のコードをfunctions.phpに追加することで、投稿一覧ではAさんにはAさんが作成した記事のみが表示される、とできます。
1)Aさんが寄稿者の場合
まず追加したメンバーAさんが「寄稿者」の場合。
1 2 3 4 5 6 7 8 9 10 11 |
//自分の記事だけが見えるようにする(権限:寄稿者) function show_only_writer_posts($query) { global $current_user; if(is_admin()){ if(current_user_can('contributor')){ $query->set('author', $current_user->ID); } } } add_action('pre_get_posts', 'show_only_writer_posts'); |
このコードは、以下を行ってます。
- 1)ログインしている場合で、
(is_admin()) - 2)権限が「寄稿者」の場合
(current_user_can( 'contributor' )) - 3)その人が作成した記事だけをピックアップ
($query->set('author', $current_user->ID))
2)Aさんが投稿者の場合
追加したメンバーAさんの権限が「投稿者」の場合。
権限が寄稿者ではなく投稿者の場合の対応は、権限の判別の部分を変えれば良いですね。
1 2 3 4 5 6 7 8 9 10 11 |
//自分の記事だけが見えるようにする(権限:投稿者) function show_only_writer_posts($query) { global $current_user; if(is_admin()){ if(current_user_can('author')){ $query->set('author', $current_user->ID); } } } add_action('pre_get_posts', 'show_only_writer_posts'); |
このコードは、以下を行ってます。
- 1)ログインしている場合で、
(is_admin()) - 2)権限が「投稿者」の場合
(current_user_can( 'author' )) - 3)その人が作成した記事だけをピックアップ
($query->set('author', $current_user->ID))
違いは2)の寄稿者か投稿者かの判別部分のみ。
3)Aさんが寄稿者または投稿者の場合
権限が「寄稿者」でも「投稿者」でも、投稿一覧ではその人だけの記事が表示されるようにしたい、という場合には、以下のようにすれば良いですね。
1 2 3 4 5 6 7 8 9 10 11 |
//自分の記事だけが見えるようにする(権限:寄稿者 or 投稿者) function show_only_writer_posts($query) { global $current_user; if(is_admin()){ if(current_user_can('contributor') or current_user_can('author')){ $query->set('author', $current_user->ID); } } } add_action('pre_get_posts', 'show_only_writer_posts'); |
このコードは、以下を行ってます。
- 1)ログインしている場合で、
(is_admin()) - 2)権限が「寄稿者」または「投稿者」の場合
(current_user_can('contributor') or current_user_can('author')) - 3)その人が作成した記事だけをピックアップ
($query->set('author', $current_user->ID))
2)の部分で、寄稿者の場合、または、投稿者の場合、としているだけ。
コードの追加
上で見たコードは 「テーマのための関数」(functions.php)に追加します。
- ①、②:「外観」から「テーマエディター」を選択
- ③:「テーマのための関数」(functions.php)を選択
- ④:コードをコピペ
- ⑤:「ファイルを更新」をクリック!
以上で終わり!
テストとして、権限が「投稿者」や「寄稿者」の仮のメンバーを登録して、投稿一覧ではどう見えるか、確認してみてくださいね。
functions.php の編集は、間違うとブログが表示できなくなるなど、重大な問題にもつながります。できればローカル環境やテストサイトで一度問題ないか試してみると良いです。
参考)
ワードプレスをパソコン上で動かす!XAMPPのインストール方法を詳しく解説
今回のポイント
外注化は、ネットビジネスの目的の1つである自由な時間を設けたり、作業の加速化には無くてはならないものだと思います。
最初は、収益を得るためのネットビジネスで、収益を得る前に外注さんにお金を支払うのはどうか...とも考えがちですが、長い目で見れば、成果も早く出て外注さん用の費用も回収できるようになりますし、何より自由な時間が増える、というのが一番の効果になると思います。
その時間を有効に使い、更にネットビジネスを拡張したり、新たな戦略を練る時間、家族や友達と楽しめる時間、などに使っていくと良いですね。
ネットビジネスを基本から改めて見てみたい、ブログの収益化に必要なものは何なのかを知りたい、という場合には、以下のメルマガにも登録してみてくださいね。