Salta al contenuto

WP Etc.

Il mio block notes online

  • Home
  • WordPress
  • Webdesign
  • Sviluppo
  • Marketing
  • Cookie e dati personali

Il form di login di WordPress

Logo WP

È spesso necessario portare nel front-end il form di login di WordPress.

La funzione wp_login_form() fa proprio questo: genera un semplice form di login da collocare dove si desidera all’interno di un template.

Volendo, è anche possibile creare uno shortcode che permetta di inserire il form in qualunque pagina del sito.

Per prima cosa va creato lo shortcode:

function register_theme_settings() {
	add_shortcode( 'login-form', 'build_login_form' );
}
add_action('init', 'register_theme_settings');

add_shortcode() richiede due argomenti: il nome dello shortcode e una funzione di callback, che può essere anche la seguente:

function build_login_form( $atts ){
	if ( is_user_logged_in() )
		return '';

	$atts = shortcode_atts( array( 'redirect' => get_bloginfo( 'url' ) ), $atts, 'login_form' );

	$output = '
		<div id="login">
	';
	$args = array(
		'echo' => false,
		'redirect' => esc_url( $atts['redirect'] ), 
		'form_id' => 'loginform',
		'label_username' => __( 'Username' ),
		'label_password' => __( 'Password' ),
		'label_remember' => __( 'Remember Me' ),
		'label_log_in' => __( 'Log In' ),
		'id_username' => 'user_login',
		'id_password' => 'user_pass',
		'id_remember' => 'rememberme',
		'id_submit' => 'wp-submit',
		'remember' => true,
		'value_username' => NULL,
		'value_remember' => true
	);
	$output .= wp_login_form( $args );
	$output .= '
		</div><!-- #login-form -->
	';
	return $output;
}

Niente di difficile. L’unica particolarità riguarda la funzione shortcode_atts(), la cui funzione è quella di definire gli attributi dello shortcode e impostarne i valori predefiniti. In questo caso, si è previsto l’unico attributo redirect, e gli si è assegnato il valore della URL della home page (get_bloginfo( 'url' )).

Così, se l’amministratore inserisce lo shortcode senza attributi, l’utente sarà reindirizzato alla home page dopo il login.

[login-form]

Se, invece, viene passato l’attributo redirect, sarà questo a impostare una diversa pagina di reindirizzamento:

[login-form redirect="http://www.example.com/profile"]
Pubblicato Gennaio 20, 2015Di Carlo
Categorie: WordPress Taggato form, login, shortcodes

Navigazione articoli

Articolo precedente

Aggiungere il nome utente ad un custom menu

Articolo successivo

SVG e CSS: la guida

Categorie

  • Blog
  • Marketing
  • Motivazione
  • Sviluppo
  • Webdesign
  • WordPress

Il mio Host preferito

Hosting WordPress Gestito Kinsta
WP Etc.
Proudly powered by WordPress.