会員制コミュニティでユーザー名を見せない設定

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

会員制コミュニティサイトでユーザー名を完全に非公開にする手順。

functions に記入して、登録フォームにニックネーム欄を追加。

    add_action('register_form','myplugin_register_form');
    function myplugin_register_form (){
        $nickname = ( isset( $_POST['nickname'] ) ) ? $_POST['nickname']: '';
        ?>
        <p><label for="nickname"><?php _e('ニックネーム','mydomain') ?><br /><input type="text" name="nickname" id="nickname" class="input" value="<?php echo esc_attr(stripslashes($nickname)); ?>" size="25" /></label></p>
        <?php
    }
    add_filter('registration_errors', 'myplugin_registration_errors', 10, 3);
    function myplugin_registration_errors ($errors, $sanitized_user_login, $user_email) {
        if ( empty( $_POST['nickname'] ) )
            $errors->add( 'nickname_error', __('<strong>エラー</strong>: ニックネームを記入してください。','mydomain') );
        return $errors;
    }
    add_action('user_register', 'myplugin_user_register');
    function myplugin_user_register ($user_id) {
        if ( isset( $_POST['nickname'] ) )
            update_user_meta($user_id, 'nickname', $_POST['nickname']);
    }

SX User Name Securityで表示名をニックネームに設定。
SF Author Url Controlで著者アーカイブのURLを変更。

*SX User Name Securityはユーザー登録時にランダムなニックネームを登録する仕様になっているので(最後の方 Filter data when registering のところ)、その部分を削除しておくと、登録フォームに入力したニックネームが登録され、初回ログイン時にニックネームが表示名にセットされる。