Je veux vérifier si une installation WordPress fonctionne à partir d'un sous-répertoire.
Les méthodes courantes pour y parvenir sont énumérées ici: https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
ceux-ci impliquent généralement de changer un fichier d'index et d'exiger le fichier principal WordPress à partir de là, peut-être de changer les règles dans htaccess si vous utilisez Apache - il n'y a pas de configuration de constantes d'après ce que je peux voir
oui, comment détecter de manière fiable si WordPress ne s'exécute pas à partir d'une racine de répertoire?
Vous devez vérifier si le siteurl diffère de l'URL de la maison:
if ( get_option( 'siteurl' ) !== get_option( 'home' ) ) { // whatever
Cela fonctionne également si home
est un sous-répertoire de la racine, avec WordPress installé dans un autre sous-répertoire. Par exemple: domain.com/blog (URL) et domain.com/blog/wordpress (siteurl).
Je suis juste tombé sur la même question et j'ai trouvé un autre moyen de le comprendre. Vous pouvez également utiliser les constantes définies à partir du fichier wp-config.php. SUBDOMAIN_INSTALL serait la clé.
define('WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'intern.cc.dev');
define('PATH_CURRENT_SITE', '/');
// only run condition, when we are in MS
if( is_multisite() ):
// check for subfolder installation flag
if( SUBDOMAIN_INSTALL === false):
// optional, check if you are on the home WP or a sub WP
if( get_current_blog_id() > 1):
// do whatever you need to to here
endif; // end blog id check
endif; // end subfolder installation
endif; // end multisite check