Como preencher os campos nome de usuário / senha na página de login

8

Para um ambiente de demonstração, eu gostaria de preencher previamente os campos username e password do formulário wp-login com as sequências "demo" e "demo" respectivamente.

Assim, os usuários só precisam clicar no botão "Login" para se conectar à área administrativa.

Existe uma maneira de fazer isso? Talvez com um gancho?

Obrigado pelo seu conselho

    
por Gilles Vauvarin 24.01.2012 / 17:54

3 respostas

6

O resultado

Nomedeusuário

Vocêpodedeclararovalordocampodeformulárioglobalepré-preenchê-lo.

  

Issosubstituiráqualquerconfiguraçãofeitapormeiodacaixa"Lembrar-me".

/**
 * Changes the default user name to "DEMO"
 * 
 * @return string $user_login
 */
function login_form_username()
{
    global $user_login;
    return $user_login = 'DEMO';
}
add_action( 'login_head', 'login_form_username' );

Senha

Não encontrei nada que você possa usar para preenchê-lo, então adicionaria uma anotação. Alegremente / Infelizmente, há todo o conjunto de folhas de estilo para a interface do usuário do administrador disponível. Então .wrap em conexão com h2 dá um bom estilo. A função é conectada ao gancho de campos adicionais para o gancho admin. A prioridade é 0 para configurá-lo acima dos campos adicionais.

/**
 * Adds a note beyond the user login name & password field
 * 
 * @return string
 */
function login_form_note()
{
    print '<div class="wrap"><h2 style="text-align: center;">The Password is "DEMO"</h2></div>';
}
add_action( 'login_form', 'login_form_note', 0 );

Segurança: ocultar erros

Como alguém receberia uma prova visual de que ele inseriu um nome de usuário existente por padrão, eu adicionaria o seguinte ao arquivo functions.php, para evitar dizer se o nome de usuário foi adivinhado corretamente:

/**
 * Hide wrong login names
 * 
 * @return string
 */
function no_login_error() 
{
    return __( 'Wrong Credentials.' );
}
add_filter( 'login_errors', 'no_login_error' );

Outros filtros

Notas:

  • Se você quiser substituir outras coisas como estilos, pode usar o login_enqueue_scripts gancho.
  • Você também pode substituir o link por trás do logotipo usando o filtro login_headerurl que filtra o URL. O link title pode ser substituído usando login_headertitle . Ambos acionam para multisite, bem como configurações de um único site.
  • A mensagem de login pode ser alterada usando o filtro login_message .
por kaiser 24.01.2012 / 18:28
6

você pode usar este código para fazer o login automático do usuário:

add_action('init', 'auto_login');
add_action('admin_init', 'auto_login');
function auto_login() {
    if (!is_user_logged_in()) {
      //by user name
      $user = get_user_by( 'login', 'demo' );
      //Or by user id, 2 being the ID of the demo user
      //$user = get_userdata(2);
      wp_set_current_user($user->ID, $user->user_login);
      wp_set_auth_cookie($user->ID);
      do_action('wp_login', $user->user_login);
    }
}
    
por Bainternet 24.01.2012 / 19:41
3

Aqui estão três maneiras de fazer isso:

A primeira maneira é usar o gancho wp_signon

$creds = array();    
$creds['user_login'] = 'example';   
$creds['user_password'] = 'plaintextpw';   
$creds['remember'] = true;   
$user = wp_signon( $creds, false );  
if ( is_wp_error($user) ) {  
   echo $user->get_error_message();
}

A segunda maneira é usar jQuery .val() e adicioná-lo à sua página de login

$("#user_login").val('username');    
$("#user_pass").val('password');

A última maneira é editar o seu arquivo wp-login.php (Nota, isso não é recomendado, embora funcione).

    
por BandonRandon 24.01.2012 / 18:11

Tags