Bonsoir,
1/ Dans panneau d'administration de wordpress, allez dans Réglages et cocher la case "Tout le peut s'enregistrer".
2/ Il suffit de tester si l'utilisateur est connecé ( is_user_logged_in ) et si il n'est pas connecté, il faut faire une redirection soit sur ta page d'accueil soit sur ton formulaire de connection et d'inscription..
3/ Je ne suis pas sur que ce soit la meilleure solution mais je ne sais pas vraiment a voir.. Il existe JomSocial je crois sur Joomla mais c'est payant il me semble et je ne sais pas si c'est mieux..