web-dev-qa-db-fra.com

Page de connexion personnalisée Wordpress

J'ai trouvé un petit article sur la création d'une page de connexion Wordpress personnalisée et je me demande si cette technique/cette pratique est sans danger?

L'article: http://blog.caercam.org/2012/09/21/wordpress-login-page-complete-redesign/

J'ai essayé cette technique, mais la fonction Logout a cessé de fonctionner dans wordpress. Si j'écris un nom d'utilisateur ou un mot de passe incorrect, cliquez sur pour vous connecter . il me redirige vers l'ancienne page de connexion . Existe-t-il un moyen de résoudre ces problèmes?

J'utilise tous le même code que dans l'article.

1
Pullapooh

Vous avez déjà répondu à plusieurs reprises à votre question: la technique décrite dans l'article ne sera pas fiable. Ce que vous n'avez peut-être pas trouvé, c'est "pourquoi".

Le code utilise des URL relatives ...

<form name="loginform" id="loginform" action="/wp-login.php" method="post">

... qui sont presque toujours peu fiables dans le contexte WordPress. Cela ne fonctionnera pas si le site est installé dans un répertoire afin que l'URL de connexion soit à www.example.com/directory/wp-login.php.

Deuxièmement, le code utilise wp-login.php comme action de formulaire (pas site_url('wp-login.php'), veuillez noter, ou même wp_login_url() qui serait correct), ce qui signifie que lorsque vous soumettez le formulaire, vous accédez à l’ancienne page de connexion pour traitement. Si quelque chose ne va pas, cette page est l'endroit où vous vous retrouvez.

Troisièmement, le hack site_urlregex ne fonctionnera que si vous utilisez site_url ou des fonctions qui utilisent site_url. Cela ne fonctionnera pas si un plugin ou un thème n'utilise pas ces fonctions, pas plus que si quelqu'un (comme je le fais habituellement) tape simplement wp-login.php dans la barre d'adresse.

Quatrièmement, regexing site_url n'est pas la solution. Vous exécutez regex chaque fois que cette fonction est utilisée. Combien de fois cela va-t-il être utilisé pour un lien de connexion? Moins que 1%? Très inutile.

Un meilleur crochet serait login_url , ce qui est fait pour cette circonstance.

En gros, il s’agit d’un hack de page de connexion très superficiel, et non d’une "refonte complète de la page de connexion WordPress". Il existe de meilleurs moyens de personnaliser votre page de connexion, la plus simple étant d’utiliser les actions et les filtres de la page de connexion elle-même . Si vous choisissez d'utiliser une page complètement différente de celle de wp-login.php, vous devrez dupliquer la plupart des fonctionnalités par défaut, car cette page contient à la fois des fonctions et une variable HTML et n'est pas facilement incluse dans les autres pages sans créer de désordre.

2
s_ha_dum