Problema de registro do usuário no WordPress

4

Estou tentando criar um formulário de registro de usuário na barra lateral do meu site. Os usuários podem se registrar, mas em vez de receber uma mensagem de sucesso, o WordPress geralmente os redireciona para a página 404.

Abaixo está minha forma:

<form id="joinmaillist"   method='post'>
    <table>
        <tr>
            <td>Name</td>
            <td><input type="text" placeholder="Your name here.." name="name" title="Please enter your name" required/></td>
        </tr>
        <tr>
            <td>Email</td>
            <td><input type="email" name="email" placeholder="Your email here.." required/></td>
        </tr>
        <tr>
            <td></td>
            <td style="text-align:right"><input class="submitmail" type="submit" value="Join!" name="joinm"/></td>
        </tr>
    </table>
</form>

e abaixo está o meu código PHP:

<?php
if (isset($_POST['joinm'])){
    $user_name=$_POST['name'];
    $email =$_POST['email'];


$user_id=  username_exists($user_name);

    if (!$user_id){
        $random_pass = wp_generate_password(12, false);
        $user_id=wp_create_user($user_name, $password, $email);
        header('Location:' . $_SERVER['REQUEST_URI']);
    }else{

    }
}
    
por Mark Adesina Omoniyi 08.03.2012 / 08:47

1 resposta

1

Veja o código em wp-login.php (linha 481 e seguintes). Lá você pode ver como o registro funciona.

Os nomes do seu formulário - email , name - provavelmente são substituídos pelo WordPress. Sempre use nomes prefixados nos formulários para evitar colisões, por exemplo: ma_email e ma_name .

Prepare dados de entrada . Não basta escrever qualquer coisa que alguém envie para sua base de dados. Isso pode ser perigoso.

Ah, e bem vindo ao WordPress Stack Exchange! :)

    
por fuxia 08.03.2012 / 10:10