Rufen Sie WP-Installationsverzeichnis auf

Ich habe ein Thema, das – ich war ziemlich stolz auf mich! – Ich entwarf, in wp-Aufstellungsorten installiert zu werden, in denen wp auf Wurzelebene ist.

Dann haben die Hälfte meiner User das Theme auf mysite.com * / wordpress / * installiert!

… und es funktioniert nicht …

Also einige Pfadumwandlungen sind in Ordnung. Ich habe eine Reihe von Konstanten erstellt, so dass ich Pfade nicht immer neu schreiben musste. Beispiel:

//http constants $symbiostock_template_directory = get_bloginfo('template_directory'); define('symbiostock_CLASSDIR', $symbiostock_template_directory . '/inc/classes' ); 

… und weitere Konstanten für verschiedene Pfade

 //filepath constants $symbiostock_theme_root = get_theme_root() . '/symbiostock'; define('symbiostock_STOCKDIR', $_SERVER['DOCUMENT_ROOT'] . '/symbiostock_rf/' ); 

… und weitere Konstanten für verschiedene Pfade

define (‘symbiostock_STOCKDIR’, $ _SERVER [‘DOCUMENT_ROOT’]. ‘/ symbiostock_rf /’);

Das sollte funktionieren, oder?

Gibt es eine nette universelle Möglichkeit, WordPress von jedem Level aus zu betreiben? Ein “Best Practice” -Tutorial raus?

Solutions Collecting From Web of "Rufen Sie WP-Installationsverzeichnis auf"

Der WordPress-Verzeichnispfad ist in der Konstante ABSPATH . Beachten Sie, dass dies nicht mit dem Verzeichnis wp-content zu wp-content . Die Konstante WP_CONTENT_DIR könnte genau auf den gleichen Wert gesetzt werden. Oder ein anderes Verzeichnis auf derselben Ebene, auf dem WP_CONTENT_URL ein anderer Domänenname ist.

Es muss nicht einmal ein wp-content Äquivalent sein: Themen, Plugins, Sprachen usw. können über verschiedene Verzeichnisse verteilt sein.

Verlassen Sie sich nicht auf Standardpfade.

 define('symbiostock_STOCKDIR', $_SERVER['DOCUMENT_ROOT'] . '/symbiostock_rf/' ); 

Dies wird viele Setups einbrechen. Verwenden get_template_directory_uri() stattdessen get_template_directory_uri() und lassen Sie WordPress herausfinden, wo das ist.

Ein anderes Wort über Konstanten: vermeide sie. Es könnte zu Kollisionen mit dem Code anderer Leute kommen. Sie sind langsam. Verwenden Sie eine Hilfsfunktion, um stattdessen classn zu laden und alle Pfadprobleme im Rumpf dieser function zu lösen , nicht im globalen Namespace.