Voulez-vous connaître la connexion automatique à WordPress Admin ?
Le blog d'aujourd'hui sera bref, et je vais vous apprendre comment ajouter une fonctionnalité utile à votre site WordPress. Cela peut être très utile s'il est appliqué correctement. Cette fonction est destinée à être utilisée sur des sites WordPress qui fournissent aux utilisateurs un compte générique pour se connecter.
Sur de nombreuses démos WordPress backend, par exemple, l'auteur établira un compte de "démo" pour les clients potentiels à se connecter et à explorer avec son produit.
Souvent, l'auteur publiera simplement un avis qui indique ;
Nom d'utilisateur : démonstration
Mot de passe : démonstration
Dans cet article, nous allons informer comment créer un système pour une connexion automatique au panneau d'administration WordPress, en un seul clic de lien.
Comment terminer la connexion automatique au tableau de bord WordPress ?
Je vais vous proposer un court extrait de connexion automatique à WordPress Admin avec ces informations d'identification. Cela peut être inclus dans le fichier de fonctions de votre thème ou placé dans son fichier de plugin et activé.
Cela pourrait être utile si :
- Votre site dispose d'un compte générique auquel les utilisateurs anonymes peuvent se connecter.
- Vous voulez un lien de connexion en un clic.
- Vous souhaitez maximiser la conversion de la démonstration du produit en fournissant une voie rapide et efficace vers la démo, en minimisant les étapes requises.
- Vous souhaitez diriger les visiteurs directement vers l'emplacement concerné (par exemple, la page des paramètres).
important: Ne l'utilisez jamais pour vous connecter à des comptes avec une puissance réelle, par exemple. Comptes administrateur/éditeur, etc.
Utilisez cet extrait avec soin.
Créez maintenant un plugin simple pour la connexion automatique à WordPress Dashboard.
Créez un dossier de plugin sur votre répertoire WordPress : wp-content > plugins
- Créez un nouveau dossier comme : Connexion automatique
- Ouvrez ce dossier et créez un nouveau fichier PHP comme :
auto-login.php - Copiez ce code et collez.
Personnaliser le code d'un auteur
/*
Plugin Name: Auto Login
Plugin URI: https://themedev.net/
Version: 1.0.0
Author: ThemeDev
Author URI: https://themedev.net/
*/
function themedev_autologin() { // PARAMETER TO CHECK FOR if ($_GET['autologin'] == 'demo') { // ACCOUNT USERNAME TO LOGIN TO $creds['user_login'] = 'demo'; // ACCOUNT PASSWORD TO USE $creds['user_password'] = 'demo'; $creds['remember'] = true; $autologin_user = wp_signon( $creds, false ); if ( !is_wp_error($autologin_user) ) header('Location: wp-admin'); // redirect to }
}
// ADD CODE JUST BEFORE HEADERS AND COOKIES ARE SENT
add_action( 'after_setup_theme', 'themedev_autologin');Ces valeurs peuvent être ce que vous voulez, mais les paramètres WordPress originaux tels que « déconnecté », « action » et « redirigé vers » doivent être évités.
Personnaliser le code pour plusieurs auteurs
Notre extrait est actuellement configuré uniquement pour la connexion automatique à un seul compte. Que se passe-t-il si nous avons besoin de liens de connexion distincts pour chaque compte ? Il s'agit d'une méthode simple et rapide qui ne nécessite pas de répéter l'intégralité de l'extrait. Jetez un œil à ma solution ci-dessous.
/*
Plugin Name: Auto Login
Plugin URI: https://themeedev.net/
Description: Create convenient auto-login links to quickly login to generic accounts. Configure source code to make changes.
Version: 1.0.0
Author: ThemeDev
Author URI: https://themeedev.net/
*/
// Declare global var's
global $login_parameter, $accounts;
// THE PARAMETER TO CHECK FOR
// eg. http://exmaple.com/wp-login.php?param_name=account
$login_parameter = "autologin";
// Another example iteration
$accounts[] = array( "user" => "campaign", "pass" => "campaign", "location" => "wp-admin/admin.php?page=nxc-dashboard", );
$accounts[] = array( "user" => "next3", "pass" => "next3", "location" => "wp-admin/admin.php?page=next3aws#ntab=settings", );
$accounts[] = array( "user" => "nextwoo", "pass" => "nextwoo", "location" => "wp-admin/admin.php?page=nextwoo#ntab=features", );
// SEE PREVIOUS EXAMPLE FOR DETAILS ABOUT THIS FUNCTION
function th_autologin() { global $login_parameter, $accounts; foreach ($accounts as $account) { if( !isset($_GET[$login_parameter]) ){ continue; } if ($_GET[$login_parameter] == $account['user']) { $creds['user_login'] = $account['user']; $creds['user_password'] = $account['pass']; $creds['remember'] = true; $autologin_user = wp_signon( $creds, '' ); if ( !is_wp_error($autologin_user) ) header('Location: ' . $account['location']); } }
}
add_action( 'after_setup_theme', 'th_autologin' );C'est essentiellement le même, mais avec une boucle foreach et un tableau de comptes jetés pour faire bonne mesure. La fonction AutoLogin() a la même structure que la méthode login(), à l'exception que le code est répété (via la boucle foreach) pour chaque compte.
Le tableau global contient désormais toutes les informations importantes. L'exemple ci-dessus montre comment configurer deux comptes, mais notre extrait peut en gérer autant que nous en avons besoin. Personnalisez simplement et ajoutez autant de blocs de code suivants que vous avez besoin d'ajouter des comptes supplémentaires.
// ACCOUNT CODE BLOCK
$accounts[] = array( "user" => "anotheraccount", "pass" => "public_password", "location" => "https://themedev.net/",
);
// END ACCOUNT CODE BLOCKVous remarquerez également que j'ai également déplacé le nom du paramètre vers une variable globale : ce n'est pas nécessaire, mais je l'ai fait simplement pour supprimer toutes les valeurs codées en dur de la fonction th_autologin().
Utilisation d'une URL pour la connexion automatique au tableau de bord WordPress
C'est très simple à utiliser. Le nom d'utilisateur et le mot de passe du compte sont spécifiés dans le fichier de plugin (code ci-dessus), et pour vous connecter, vous devez simplement visiter ; http://example.com/wp-login.php?autologin=demo
Vous devriez être redirigé vers wp-admin et connecté au compte souhaité immédiatement. Toutefois, si les informations d'identification sont incorrectes, vous devriez voir le formulaire de connexion comme d'habitude.
conclusion
Bien que cet extrait soit simplement une fonction simple destinée à une utilisation légère, comme sur un site de démonstration de produit, il a le potentiel d'être utilisé pour des scénarios de connexion beaucoup plus complexes. Le reste du code doit être explicite, mais si vous avez des questions sur ce que j'ai fait ou pourquoi je l'ai fait, veuillez laisser un commentaire ci-dessous ou envoyez-moi un tweet. Laissez une remarque dans l'espace ci-dessous si vous avez des commentaires, des recommandations ou des réflexions !
Si vous avez aimé cet article, veuillez vous abonner à notre chaîne Youtube Pour les didacticiels vidéo WordPress. Vous pouvez également nous trouver sur babiller et facebook.