まず下記の記事をお読みください。
これだけは押さえておきたい!WordPress運用記事特集
案A : プラグイン WP Basic Auth ( https://wordpress.org/plugins/wp-basic-auth/ ) をインストール・有効化する。このプラグインは登録されているWordPressに登録されているユーザーID・パスワードで認証が必要になります。
案B : 未ログインのユーザーがアクセスしてきたらログイン画面に飛ばされるようにする
子テーマを設定して、子テーマの functions.php に下記を追加してください。
function require_login() {
if ( ! is_user_logged_in() && ! preg_match( '/^(wp-login\.php|async-upload\.php)/', basename( $_SERVER['REQUEST_URI'] ) ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) && ! ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
auth_redirect();
}
}
add_action( 'init', 'require_login' );
子テーマでのカスタマイズ
案C : 「WordPress 会員サイト」 で検索して紹介されているプラグインをいろいろ試す。
ただし、この手の会員サイト構築プラグインはデータベースに独自のデータをたくさん埋め込んでしまうので、本当はテスト用のWordPressのサイトを用意してプラグインをいくつか試して、よさそうな会員制プラグインを選んでから本番に反映させれば良いかなと思います。