wake-up-neo.net

Wie würden Sie feststellen, ob WordPress in einem Unterverzeichnis (nicht root) installiert ist?

Ich möchte überprüfen, ob eine WordPress-Installation aus einem Unterverzeichnis funktioniert.

Gängige Methoden, um dies zu erreichen, sind hier aufgelistet: https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

dazu gehört normalerweise das Ändern einer Indexdatei und das Erfordernis einer WordPress-Hauptdatei, möglicherweise das Ändern von Regeln in htaccess, wenn Apache verwendet wird - es gibt keine Einrichtungskonstanten für das, was ich sehen kann

wie würden Sie also zuverlässig erkennen, wenn WordPress nicht von einem Verzeichnisstamm ausgeführt wird?

2
unfulvio

Sie müssen überprüfen, ob die Site-URL von der Home-URL abweicht:

if ( get_option( 'siteurl' ) !== get_option( 'home' ) ) { // whatever

Dies funktioniert auch, wenn home ein Unterverzeichnis des Stammverzeichnisses ist und WordPress in einem weiteren Unterverzeichnis installiert ist. Zum Beispiel: domain.com/blog (URL) und domain.com/blog/wordpress (siteurl).

3
fischi

Ich bin gerade auf dieselbe Frage gestoßen und habe einen anderen Weg gefunden, es herauszufinden. Sie können auch die definierten Konstanten aus der Datei wp-config.php verwenden. SUBDOMAIN_INSTALL wäre der Schlüssel.

Beispiel wp-config-Auszug für Multisite-Einstellungen wäre

define('WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'intern.cc.dev');
define('PATH_CURRENT_SITE', '/');

In deinem Code

// 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
0
Gkiokan