Muita gente não se sente à vontade de escrever certos posts e publica-los a quem quiser ler. Eu sou uma dessas pessoas. Procurei uma solução a fim mostrar esses posts apenas para quem eu quiser. Sempre tive medo de ter usuários registrados em meu WP com medo de alguém fuçar em coisa que não devia, mas encontrei uma série de caminhos, functions e plugins que me tranquilizaram e me permitiu abrir a opção de registro a quem quisesse, entretanto só tem sucesso quem for aprovado por mim. Achei a ideia interessante e vale a pena passar o que aprendi.
1º) Vá na pasta de seu tema atual e certifique-se de que há o arquivo functions.php. Se tem, coloque este código na próxima linha abaixo de <?php:
function member_check_shortcode( $atts, $content = null ) { if ( is_user_logged_in() && !is_null( $content ) && !is_feed() ) return $content; return '<blockquote>Post somente para leitores registrados. <a href="<?php bloginfo('url'); ?>/wp-login.php?action=register" target=_blank>Registre-se</a> ou faça seu login <a href="http://seublog.com/wp-login.php" target=_blank>aqui</a>.</blockquote>'; } add_shortcode( 'member', 'member_check_shortcode' );
Se você não tem o functions.php, basta cria-lo num bloco de notas e colocar este código entre <?php e ?> para entrar em função.
Esta função permite que você proteja uma parte do post (ou o post inteiro) que seja apenas acessível aos leitores registrados. E para fazer isso, basta colocar o conteúdo desejado entre [member] e [/member]. Para quem não é registrado irá aparecer a mensagem que você definiu na função acima.
Depois de salvar e configurar da maneira que quer, mande o functions.php para a pasta de seu tema atual.
2º) Agora, baixe o plugin New User Approve e ative-o. Com este plugin o usuário registrado seja aprovado por você antes de receber a senha de acesso.
3º) Baixe o plugin WP Hide Dashboard e ative-o. Para você que é usuário administrador não fará nenhuma diferença, mas para quem é apenas um leitor registrado ocultará o seu Dashboard (onde aparece o nº de posts, categorias, spans e etc) e os Tools, aparecendo apenas o profile do novo usuário. Ficará assim:
4º) Agora, para permitir que seu WordPress abra opção a novos usuários, vá em "Settings" » "General" e aceite a opção de "Anyone can register" em "Membership" e coloque a opção "Subscriber" em "New User Default Role".
Salve as novas alterações.
5º) Por motivos de segurança, eu recomendo que baixe o plugin Limit Login Attempts. Ele ajuda a impedir que usuários indesejados tentam ter acesso ao seu painel de controle colocando um limite de erro de login/senha. Você pode definir o limite. Por exemplo, eu coloquei o limite de 3 tentativas e somente no dia seguinte que a pessoa pode tentar novamente.
Prontinho! É apenas isso ;D Caso queira colocar uma caixa de login como aqui no blog, é só seguir o tutorial de Caixa de Login