Comment puis-je vérifier si la page actuelle est wp-login.php
ou wp-signup.php
?
Y a-t-il des solutions plus élégantes que d'utiliser $_SERVER['REQUEST_URI']
?
pages
login
registration
conditional-tags
onetrickpony
la source
la source
Réponses:
Utilisez le global
$pagenow
, qui est un ensemble global commun défini par WordPress lors de l'exécution:Vous pouvez également vérifier le type de page de connexion, par exemple l'enregistrement:
Le code suivant est considéré comme étant hérité et ne doit pas être utilisé (il
wp-register.php
était obsolète puis supprimé depuis longtemps):la source
LE SEUL MANIER FIABLE:
code:
Pourquoi c'est le plus sûr?
1) Parfois, si vous essayez de vérifier la page de connexion en utilisant
REQUEST_URI
(ouSCRIPT_PATH
), vous obtiendrez des valeurs inexactes, car de nombreux plugins changent les URL LOGIN & ADMIN .2)
$pagenow
vous donnera une valeur incorrecte aussi dans ce cas!Remarques:
la source
get_included_files()
la solution semble la plus précise (du moins pour moi).Plus moderne, cela devrait fonctionner même lorsque l'URL wp-login est modifiée par les plugins et que WP se trouve dans un sous-dossier, etc.:
la source
return false !== stripos( wp_login_url(), $_SERVER['SCRIPT_NAME'] );
. Cela me semble un peu plus propre.$GLOBALS['pagenow']
ne fonctionne pas, utilisez$_SERVER['PHP_SELF']
.et si votre wordpress n’est pas installé dans le dossier racine Web, vous devez utiliser certains paramètres comme
YOUR_WP_PATH/wp-login.php
pour remplacer les éléments du tableau.la source
Je l'ai implémenté en utilisant la propre méthode wp_login_url () de WordPress comme suit:
Il ne suffit que de comparer les deux chemins (car il est difficile d’être absolument sûr de l’utilisation de SSL car il peut être résilié) ... Cela signifie cependant qu’un développeur de plug-in ou de thème qui modifie le formulaire de connexion par défaut doit avoir effectué donc le bon chemin ...
la source
Je ne suis intéressé que par la page d'inscription, pas par la page de connexion. Donc, cela pourrait ne pas être recherché par tout le monde.
$ GLOBALS ['pagenow'] renvoie index.php pour moi. Peut-être à cause de buddypress ou de mon thème.
Alors j'ai utilisé
Si vous inspectez le corps de la page d'enregistrement, celle-ci possède également l'ID. Par conséquent, si elle indique page-id-4906 , vous pouvez l'utiliser de cette manière si cela fonctionne mieux:
la source
Aucune des réponses actuelles n'a fonctionné pour moi.
Ce que j'ai fait était de vérifier si
$_GET
array a une clé 'page' et si sa valeur est 'connexion'.la source
Quelques solutions proposées ici ont fonctionné, alors je suis arrivé avec quelque chose de très simple qui fonctionne sur un site WordPress ordinaire (non testé sur Multisite).
Aussi simple que:
Il prend en compte le paramètre url
?action=register
, qui n'existe que lorsque vous êtes sur la page d'inscription.la source
Voici une version PSR-2 de la réponse @ T.Todua. Je viens de le formater bien. Il est préférable de manipuler la fonction, par exemple en ajoutant un filtre à des fins de test, etc.:
la source