注目キーワード
  1. 技術
  2. 広告
  3. IDFA
  4. PHP
  5. WordPress

寄稿者は自分の投稿しか見れないように修正する(WordPress)

やりたいこと

WordPressでユーザーの権限を寄稿者に設定したが、投稿一覧画面を開くと、他の人の記事でどういうタイトルのものがあがっているか見ることができてしまいます。著作権やライターのプライバシーを守るためには、他人の投稿内容を見せないように設定したい場面があると思います。今回は、寄稿者権限だった場合、自分の投稿しか見れないようにする方法を記載していきます。

対応方法

WordPress内のfunctions.phpを修正します。functions.phpはテーマ配下にありますので、例えば、/wp-content/themes/(使っているテーマ)/functions.php あたりにあると思います。

  • 修正方法
    // 寄稿者は自分の投稿しか見れないようにする
    function hide_other_post($wp_query) {
    global $current_screen, $current_user;
    
    if ($current_screen->id != "edit-post") {
        return;
    }
    // 管理者は閲覧可能にする
    if ($current_user->roles[0] == "administrator") {
        //管理者はすべて閲覧可能に
        return;
    }
    
    // 寄稿者は閲覧不可にする
    if (!$current_user->roles[0] == "contributor") {
        return false;
    }
    
    $wp_query->query_vars['author'] = $current_user->ID;
    }
    add_action('pre_get_posts', 'hide_other_post');
    

上記のプログラムを、functions.php に入れることで対応することができました。