L’essentiel à retenir ℹ️
Pour insérer du code PHP dans WordPress sans extension, créez une fonction dans le fichier functions.php de votre thème, associez-la à un shortcode personnalisé via add_shortcode, puis utilisez ce shortcode dans vos pages et articles. Pour éviter de perdre votre snippet lors d’un changement de thème, préférez un thème enfant WordPress ou le plugin Code Snippets.
Solution pour afficher du code PHP dans une page ou un article WordPress sans extension
Je suis d’abord tombé sur de vieux articles qui dataient d’il y a 5-6 ans et expliquaient qu’on pouvait facilement utiliser du code PHP dans une page ou un article WordPress en mettant le code PHP via le shortcode adéquat : [PHP][/PHP]. Malheureusement, cela n’a pas fonctionné… J’avais juste à l’écran le shortcode affiché dans l’article sans affichage de l’adresse IP récupéré par mon script. J’ai également vu qu’il existait des extensions pour utiliser du code PHP dans des pages / articles / widgets WordPress comme Woody ad snippets, PHP Everywhere ou Insert PHP Code Snippet. Mais passer par un plugin pour se servir de PHP ne m’enchantait guère, notamment parce que plusieurs de ces modules n’étaient pas à jour et incompatibles avec ma version (à jour, elle) de WordPress. J’ai donc trouvé une solution alternative en farfouillant dans le web : créer un snippet dans le fichier functions.php de mon template WordPress et afficher le résultat via un shortcode personnalisé. Si vous changez souvent de thème, placez plutôt votre code dans le fichier functions.php d’un thème enfant, ou utilisez le plugin gratuit Code Snippets, qui stocke vos fonctions en base de données et les conserve quel que soit le thème actif.Insérer facilement du PHP dans vos pages WordPress !
Voilà comment faire pour insérer du code PHP dans vos widgets / articles / pages WordPress :- Créer votre fonction personnalisée dans le fichier functions.php de votre thème WordPress.
- Assigner le résultat de votre fonction à un shortcode via la fonction de WordPress add_shortcode . Pour la documentation en anglais sur cette fonction référence : https://codex.wordpress.org/Function_Reference/add_shortcode.
- Utiliser votre shortcode personnalisé dans votre page / widget ou article WordPress.
Comment afficher l’adresse IP d’un visiteur de votre site WordPress ?
Pour afficher l’IP de votre visiteur depuis votre site WordPress, il existe 2 solutions : utiliser un plugin dédié ou un snippet et son shortcode.Les plugins WordPress pour afficher l’IP d’un visiteur
L’avantage d’une extension WordPress, c’est que si vous venez à changer de thème, vous n’aurez pas à recopier votre snippet dans le nouveau fichier functions.php. Car sans ça, votre shortcode et sa fonction personnalisée ne fonctionneraient plus. L’inconvénient : un plugin dédié est plus lourd que le petit bout de code que je vous propose. Voici deux plugins qui permettent de montrer l’adresse IP des visiteurs :- IP2Location Tags. Ce plugin permet non seulement d’afficher l’adresse IP du visiteur mais aussi tout un tas d’informations sur l’adresse IP des visiteurs : ville, pays, latitude et longitude de l’IP du visiteur etc… https://fr.wordpress.org/plugins/ip2location-tags/
- IP Tools. Cette extension propose elle aussi des shortcodes pour montrer l’adresse IP, notamment dans un widget WordPress. https://fr.wordpress.org/plugins/ip-tools/
Afficher l’IP d’un visiteur dans un site WordPress sans plugin
Autre solution : montrer l’IP du visiteur sans plugin WordPress grâce au petit bout de code que je vous propose ! Voici le code PHP à copier dans le fichier functions.php du thème de votre site WordPress :/* affichage simple de l' adresse IP du visiteur */
function ip_visiteur() {
$ip = $_SERVER['REMOTE_ADDR'];
}
add_shortcode( 'affiche_ip', 'ip_visiteur' );
Une fois ce code copié dans le fichier functions.php, allez dans l’article ou la page concernée puis utilisez le shortcode créé par le code ci-dessus via la fonction WordPress add_shortcode : copiez [affiche_ip][/affiche_ip] dans votre éditeur à l’endroit de la page de où vous voulez afficher l’IP. C’est tout !
Afficher l’adresse IP d’un visiteur derrière un proxy
Il peut arriver cependant que votre visiteur soit derrière un proxy. Dans ce cas l’IP affichée par le code basique ci-dessus n’est pas la bonne. Voici la version améliorée de la fonction PHP (à copier dans votre fichier functions.php) qui permet de récupérer l’adresse IP d’un visiteur de votre site :/* code complet pour afficher une adresse IP */
function ip_visiteur() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
add_shortcode( 'affiche_ip', 'ip_visiteur' );
Comme pour le code précédent, il vous faudra ensuite utiliser le shortcode [affiche_ip][/affiche_ip] à l’endroit où vous voulez montrer l’IP.
Afficher l’adresse IP du visiteur et non d’Amazon Web Services
Dans mon cas précis (utilisation d’un service hébergé dans le cloud d’Amazon, AWS), ce code ne fonctionnait toujours pas… Impossible de trouver l’adresse IP correcte de mes visiteurs. J’ai trouvé la solution en utilisant la fonction PHP apache_request_headers qui inspecte les en-têtes HTTP d’Apache (le serveur HTTP le plus répandu). Voici donc le code qui m’a permis de récupérer la bonne adresse IP de mes visiteurs :/* affiche l'adresse IP du visiteur à travers AWS */
function ip_visiteur() {
$headers = apache_request_headers();
$ip = $headers["X-Real-Ip"];
return $ip;
}
add_shortcode( 'affiche_ip', 'ip_visiteur' );
Ce code sera utile si vous utilisez AWS ou Cloudflare.
Précaution de sécurité
Attention : afficher l’adresse IP d’un visiteur dans le contenu public d’un article est une pratique à réserver aux contextes techniques (tests, démos). En production, évitez d’exposer des données personnelles comme l’IP sans raison valable. Si vous utilisez ce snippet sur un site ouvert au public, assurez-vous de respecter le RGPD en vigueur.Questions fréquentes
Peut-on insérer du code PHP directement dans l’éditeur Gutenberg ?
Non. Gutenberg n’exécute pas le PHP saisi directement dans un bloc. Le code PHP doit être déclaré dans le fichier functions.php de votre thème et appelé via un shortcode. Sans ça, le code s’affiche tel quel à l’écran.
Faut-il modifier functions.php du thème parent ou du thème enfant ?
Toujours du thème enfant. Si vous modifiez directement le thème parent, une mise à jour du thème effacera vos modifications. Le thème enfant hérite du parent tout en conservant vos personnalisations.
Le plugin Code Snippets est-il sûr ?
Oui, Code Snippets est l’un des plugins les plus utilisés pour gérer des fonctions PHP personnalisées sous WordPress. Il propose un mode débogage qui désactive automatiquement un snippet en cas d’erreur fatale.
Mon shortcode affiche le code PHP au lieu de l’exécuter. Pourquoi ?
Cela se produit quand la fonction n’est pas correctement enregistrée via add_shortcode, ou si le shortcode utilisé dans l’article ne correspond pas exactement au nom déclaré. Vérifiez l’orthographe, les espaces et les majuscules.
Peut-on utiliser cette méthode dans un widget WordPress ?
Oui. Une fois le shortcode créé, vous pouvez l’insérer dans n’importe quel widget de texte ou HTML personnalisé. Selon votre configuration, il peut être nécessaire d’activer les shortcodes dans les widgets via add_filter('widget_text', 'do_shortcode'); dans functions.php.
Que faire si mon code PHP provoque une erreur sur tout le site ?
Si une erreur fatale survient, WordPress peut afficher un écran blanc. Accédez au fichier functions.php via FTP ou le gestionnaire de fichiers de votre hébergeur et supprimez ou commentez le code problématique. Le plugin Code Snippets évite ce risque grâce à son mode de sécurité intégré.
Quelle est la différence entre un snippet et un shortcode WordPress ?
Un snippet WordPress est un bout de code PHP ajouté dans functions.php. Un shortcode est la balise courte utilisée dans le contenu pour déclencher l’exécution d’une fonction. Les deux fonctionnent ensemble : le snippet crée la logique, le shortcode l’appelle.

Merci pour ces infos, très pratiques et surtout à jour, on s’égare parois dans des articles obsolètes, d’où l’utilité de ce blog…
Comment faire pour lancer un script php à partir de WordPress ?
Très intéressant ce post. Des lectures intéressantes et motivantes !