Je voudrais exécuter add_action dans functions.php uniquement si le thème est en cours de chargement depuis mon site de développement localhost. Comment pourrais-je faire en sorte que cela ne fonctionne que sur localhost?
function livereload(){
?>
// mycode
<?php
}
add_action('headway_body_close', 'livereload');
C'est la bonne réponse
if ( $_SERVER["SERVER_ADDR"] == '127.0.0.1' ) {
function livereload(){
?>
// mycode
<?php
}
add_action('headway_body_close', 'livereload');
}
Un moyen plutôt sûr consiste à marquer votre environnement local en tant que tel dans votre wp-config.php
local.
Exemple:
// wp-config.php
define( 'WPSE54453_IS_LOCAL_SERVER', TRUE );
// functions.php
defined( 'WPSE54453_IS_LOCAL_SERVER' )
&& WPSE54453_IS_LOCAL_SERVER
&& add_action( 'headway_body_close', 'livereload' );
C'est aussi une question de lisibilité. Vous pouvez voir immédiatement ce que le code fait.
Le moyen le plus simple de vérifier l'adresse IP d'un utilisateur. S'il est égal à 127.0.0.1, alors cet utilisateur exécutant le site sur localhost.
if ( $_SERVER['REMOTE_ADDR'] == '127.0.0.1' ) {
function livereload(){
?>
// mycode
<?php
}
add_action('headway_body_close', 'livereload');
}
UPDATE: ou comme mentionné @Tommixoft, vous pouvez vérifier l'adresse IP du serveur.
if ( $_SERVER['SERVER_ADDR'] == '127.0.0.1' ) {
function livereload(){
?>
// mycode
<?php
}
add_action('headway_body_close', 'livereload');
}