ASTUCE: modérer les inscriptions

3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #9431
    Photo du profil de Ahmed
    Ahmed
    Participant

    Bonjour,
    on trouve beaucoup de questions sur la toile , de comment gérer manuellement les inscriptions avec buddypress, voici une petite astuce.

    Pour commencer, téléchargez et installez le plugin wangguard, il vous faudra une clé API, à générer ici, puis rendez-vous dans les configurations du plugin et activez la modération, le plugin fait plein d’autres petit truc sympa, faites le tour.

    Wanguuard ne désactive pas la clé d’activation, ce qui veut dire que le nouveau membre recevra quand même le mail d’activation, faudra donc désactiver l’envoie du mail, voir l’activation du compte pour qu’une fois inscrit le membre soit automatiquement activer.

    Ce code va désactiver la cle l’activation , à injecter dans function.php pour ma part je l’ai mit dans un mu-plugin:

    function disable_validation( $user_id ) {
      global $wpdb;
      $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->users SET user_status = 0 WHERE ID = %d", $user_id ) );
    }
    add_action( 'bp_core_signup_user', 'disable_validation' );
    function fix_signup_form_validation_text() {
      return false;
    }
    add_filter( 'bp_registration_needs_activation', 'fix_signup_form_validation_text' );
    

    et le second va juste désactiver l’envoie du mail d’activation, il vous faudra donc l’activer manuellement, ce qui vous fera deux choses à faire derriere, activer le membre et valider avec wangguard.

    add_filter( 'bp_core_signup_send_activation_key', 'disable_activation_email' );
    

    Après avoir jouer avec l’activation faut maintenant modifier le message de confirmation après inscription et y mettre votre message perso, j’ai pas trouver comment faire sans traduire le fichier source, j’ai donc modifier le fichier register.php, suivez le chemin, buddypres/bp-templates/bp-legacy/buddypres/members/register.php, à la ligne 376 vous avez vos deux conditions, à vous de jouer.

    Maintenant pour que tout cela soit cohérent on va bloquer l’acces au site aux visiteurs non connecté et les rediriger vers une page de login customisé.

    voici le code

    add_action( 'template_redirect', 'site_prive' );
    function site_prive() {
    	/*si l'utilisateur n'est pas connecté et que la page demandé est 
    	différente des pages ...... */
    	if ( ! is_user_logged_in() && ! is_page( 'votre_page_ici' )
    		&& ! is_single( $post = 'votre article_ici')/*si la page demandé est un article*/ ) {
    		// l'envoyé vers la Page de connexion
    		wp_redirect( home_url( '/login/' ) );
    		exit();
    	} 
    	/*interdire aux utilisateurs loggés d'aller sur la page login*/
    	elseif ( is_user_logged_in() && is_page( 'login' ) ) {
    			wp_redirect( home_url( '' ) );
    			exit();
    	}
    }
    /*redirection aprés déconnexion*/
    add_action('wp_logout','redirect_ahmed');
    function redirect_ahmed(){
    	wp_redirect(home_url('/login/'));
    	exit();  
    }
    

    n’oubliez pas de filtrer votre page d’inscription et toutes les autres pages que vous voulez rendre public.
    Si vous voulez partager des articles sur facebook vous risquerez d’avoir des ptits soucis avec ce code, allez donc ici pour debuguer votre lien et vider le cache facebook.

    Ici pour le fichier traduction pot de wangguard.

    source des codes : ici et ici

    Voila pour la petite astuce, si quelqu’un vois des améliorations je suis preneur.

    PS: soutenez l’équipe de wangguard pour le beau travaille qu’ils font, ils sont en difficulté en ce moment.

    #9434
    Photo du profil de Dan
    Dan
    Admin bbPress

    Très bien ! Merci pour ce partage. Juste une précision: la modification du fichier register.php devra se faire depuis le thème-enfant sous peine de perdre la modif à la prochaine mise à jour.
    Soit une copie du register original dans /theme-enfant/buddypress//members/register.php

    #9435
    Photo du profil de Ahmed
    Ahmed
    Participant

    je sais pas pourquoi j’ai pas pensé à le mettre dans le theme-enfant.
    merci pour la précision!

3 sujets de 1 à 3 (sur un total de 3)
  • Le sujet ‘ASTUCE: modérer les inscriptions’ est fermé à de nouvelles réponses.
Aller à la barre d’outils