web-dev-qa-db-fra.com

Gestion des URL dans les applications WordPress

Nous avons une application Web que nous exécutons dans WordPress afin de tirer parti de l'authentification de WordPress. Pour que cela fonctionne, nous avons créé un type de modèle pour notre application, qui inclut simplement la page de démarrage de notre application.

Bien qu’un peu de bidouillage, cela fonctionne très bien, sauf pour un aspect - toutes les URL relatives utilisent maintenant la page de WordPress comme base, au lieu du chemin réel vers la ressource. Par exemple, si la page de mon application est à http://mysite.com/myapp, un lien relatif vers une feuille de style entraînerait http://mysite.com/myapp/css/stylesheet.css, comme prévu.

Malheureusement, ce n'est pas l'emplacement réel de la feuille de style. L'emplacement réel de la feuille de style ressemble à ceci: http://mysite.com/directory1/directory2/directory3/css/stylesheet.css.

Comment devrais-je créer un lien vers cette ressource dans mon application Web si l'URL de base ne reflète pas avec exactitude l'emplacement de la ressource?

Remarque: je ne suis pas en mesure d'utiliser des liens absolus car nous développons localement, qui n'a évidemment pas la même structure de répertoires que le site WordPress.

2
Nathan Friend

../directory1/directory2/directory3/css/stylesheet.css devrait vous y rendre si je lis votre description avec précision.

Cependant, je serais très prudent en utilisant des liens relatifs dans WordPress. Ils ne fonctionnent pas toujours comme prévu, car de nombreux "répertoires" n'existent pas. Ils sont fabriqués par WordPress et mod_rewrite. Les deux conspirent à mentir sur la structure du système de fichiers. Par exemple, il n'y a pas http://blog.com/category/cat-a. Un lien relatif sur cette page serait brisé.

Il vaut mieux utiliser bloginfo ou site_url et créer des URL absolues. site_url serait la fonction à préférer.

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