Umgang mit URLs in WordPress-Anwendung

Wir haben eine Webanwendung, die wir innerhalb von WordPress ausführen, um die WordPress-Authentifizierung zu nutzen. Um dies zu ermöglichen, haben wir einen Vorlagetyp für unsere Anwendung erstellt, der einfach die Startseite unserer Anwendung enthält.

Während ein bisschen hack, das funktioniert super, bis auf einmal Aspekt – alle relativen URLs verwenden jetzt die WordPress-Seite als Basis, anstatt den tatsächlichen Pfad zu der Ressource. Wenn die Seite meiner Anwendung beispielsweise http://mysite.com/myapp lautet, würde eine relative Verknüpfung zu einem Stylesheet wie erwartet zu http://mysite.com/myapp/css/stylesheet.css .

Leider ist dies nicht der tatsächliche Ort des Stylesheets. Der tatsächliche Speicherort des Stylesheets ist etwa so: http://mysite.com/directory1/directory2/directory3/css/stylesheet.css .

Wie soll ich mit dieser Ressource in meiner Webanwendung verlinken, wenn die Basis-URL den Standort der Ressource nicht genau wiedergibt?

Hinweis: Ich kann keine absoluten Links verwenden, da wir uns lokal entwickeln, was natürlich nicht die gleiche Verzeichnisstruktur wie die WordPress-Site hat.

Solutions Collecting From Web of "Umgang mit URLs in WordPress-Anwendung"

../directory1/directory2/directory3/css/stylesheet.css sollte Sie dorthin bringen, wenn ich Ihre Beschreibung genau lese.

Allerdings wäre ich sehr vorsichtig mit relativen Links in WordPress. Sie funktionieren nicht immer so, wie Sie es erwarten würden, da viele “Verzeichnisse” nicht existieren. Sie werden von WordPress und mod_rewrite . Die beiden verschwören sich, über die Dateisystemstruktur zu lügen. Zum Beispiel gibt es keine http://blog.com/category/cat-a . Ein relativer Link auf dieser Seite wäre defekt.

Sie verwenden besser bloginfo oder site_url und site_url absolute URLs. site_url würde die function bevorzugen.

 $url = siteurl('/directory1/directory2/directory3/css/stylesheet.css');