Обработка URL-адресов в приложении WordPress

У нас есть веб-приложение, которое мы запускаем внутри WordPress, чтобы использовать аутентификацию WordPress. Чтобы сделать эту работу, мы создали тип шаблона для нашего приложения, который просто включает начальную страницу нашего приложения.

Хотя немного взломать, это отлично работает, за исключением одного аспекта – все относительные URL-адреса теперь используют страницу WordPress как основу, а не фактический путь к ресурсу. Например, если страница моего приложения находится по адресу http://mysite.com/myapp , относительная ссылка на таблицу стилей приведет к http://mysite.com/myapp/css/stylesheet.css , как и ожидалось.

К сожалению, это не фактическое расположение таблицы стилей. Фактическое расположение таблицы стилей выглядит примерно так: http://mysite.com/directory1/directory2/directory3/css/stylesheet.css .

Как мне обратиться к этому ресурсу в моем веб-приложении, если базовый URL-адрес не будет точно отражать местоположение ресурса?

Примечание. Я не могу использовать абсолютные ссылки, поскольку мы разрабатываем локально, что, очевидно, не имеет той же структуры каталогов, что и сайт WordPress.

../directory1/directory2/directory3/css/stylesheet.css должен получить вас там, если я точно ../directory1/directory2/directory3/css/stylesheet.css ваше описание.

Тем не менее, я был бы очень осторожен, используя относительные ссылки в WordPress. Они не всегда работают так, как вы ожидали, потому что многие «каталоги» на самом деле не существуют. Они изготовлены WordPress и mod_rewrite . Оба сговорились лгать о структуре файловой системы. Например, нет http://blog.com/category/cat-a . Относительная ссылка на этой странице будет нарушена.

Вам лучше использовать bloginfo или site_url и создавать абсолютные URL-адреса. site_url будет предпочтительнее.

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