Advertisement
eappereira

WP + WOO Account Approved

Apr 15th, 2015
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.52 KB | None | 0 0
  1. //Usar no functions.php
  2.  
  3. // Return False New Register
  4. function disable_login_register_user(){
  5.        if ( is_user_logged_in() ) {
  6.                 $current_user = wp_get_current_user();
  7.                 $user_id = $current_user->ID;
  8.                 $approved_status = get_user_meta($user_id, 'wp-approve-user', true);
  9.         if ( $approved_status == 1 ){
  10.             return $redirect_url;
  11.         }
  12.                 else{
  13.             wp_logout();
  14.                         return get_permalink(woocommerce_get_page_id('myaccount')) . "?approved=false";
  15.                 }
  16.         }
  17. }
  18. add_action('woocommerce_registration_redirect', 'disable_login_register_user', 2);
  19.  
  20.  
  21. //Registration - Approved and not approved
  22. function registration_message_new_user(){
  23.         $not_approved__user_message = '<p class="registration">A sua conta foi moderada e você não será capaz de acessar até que seja aprovada! </p>';
  24.  
  25.         if( isset($_REQUEST['approved']) ){
  26.                 $approved = $_REQUEST['approved'];
  27.                 if ($approved == 'false')  echo '<p class="registration successful">Sucesso! Você será notificado após a aprovação da sua conta! </p>';
  28.                 else echo $not_approved_user_message;
  29.         }
  30.         else echo $not_approved_user_message;
  31. }
  32. add_action('woocommerce_before_customer_login_form', 'registration_message_new_user', 2);
  33.  
  34.  
  35.  //Email
  36. //woocommerce/classes/class-wc-email.php
  37. function send_new_user_approve_email($user_id){
  38.     global $woocommerce;
  39.     $mailer = $woocommerce->mailer();
  40.         if (!$user_id) return;
  41.         $user = new WP_User($user_id);
  42.         $user_login = stripslashes($user->user_login);
  43.         $user_email = stripslashes($user->user_email);
  44.         $user_pass  = "Dados informados no registro!";
  45.         $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
  46.         $subject  = apply_filters( 'woocommerce_email_subject_customer_new_account', sprintf( __( 'Sua conta em %s foi aprovada!', 'woocommerce'), $blogname ), $user );
  47.         $email_heading  = "Usuário $user_login foi aprovado!";
  48.  
  49.         ob_start();
  50.  
  51.         woocommerce_get_template('emails/conta-aprovada.php', array(
  52.                 'user_login'    => $user_login,
  53.                 'user_pass'             => $user_pass,
  54.                 'blogname'              => $blogname,
  55.                 'email_heading' => $email_heading
  56.        ));
  57.  
  58.         $message = ob_get_clean();
  59.  
  60.         woocommerce_mail( $user_email, $subject, $message, $headers = "Content-Type: text/htmlrn", $attachments = "" );
  61. }
  62. add_action('wpau_approve', 'send_new_user_approve_email', 10, 1);
  63.  
  64. function send_user_not_approved_email($user_id){
  65.         return;
  66. }
  67. add_action('wpau_unapprove', 'send_user_not_approved_email', 10, 1);
  68.  
  69.  
  70. // dentro da pasta emails do WOO dentro do seu theme crie um arquivo conta-aprovada.php
  71. // e insira o código abaixo
  72.  
  73.  
  74. <?php if (!defined('ABSPATH')) exit; ?>
  75.  
  76. <?php do_action('woocommerce_email_header', $email_heading); ?>
  77.  
  78. <p><?php echo sprintf(__("Parabéns! Sua conta acaba de ser aprovada. Faça o login agora em: %s.", 'woocommerce'), get_permalink(woocommerce_get_page_id('myaccount'))); ?></p>
  79.  
  80. <ul>
  81.         <li><?php echo sprintf(__('Usuário: %s', 'woocommerce'), $user_login); ?></li>
  82.         <li><?php echo sprintf(__('Senha: %s', 'woocommerce'), $user_pass); ?></li>
  83. </ul>
  84.  
  85. <p><?php echo sprintf(__("Obrigado pelo seu registro! %s!", 'woocommerce'), $blogname); ?></p>
  86.  
  87. <div style="clear:both;"></div>
  88.  
  89. <?php do_action('woocommerce_email_footer'); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement