处理WordPress应用程序中的URL

时间:2013-01-30 作者:Nathan Friend

我们有一个在WordPress内部运行的web应用程序,以便利用WordPress的身份验证。为了实现这一点,我们为应用程序创建了一个模板类型,它只包含应用程序的起始页。

虽然有一点小技巧,但这很有效,除了一个方面——所有相关URL现在都使用WordPress的页面作为其基础,而不是资源的实际路径。例如,如果我的应用程序页面位于http://mysite.com/myapp, 与样式表的相对链接将导致http://mysite.com/myapp/css/stylesheet.css, 正如所料。

不幸的是,这不是样式表的实际位置。样式表的实际位置如下所示:http://mysite.com/directory1/directory2/directory3/css/stylesheet.css.

如果基本URL不能准确反映资源的位置,我应该如何在web应用程序中链接到该资源?

注意:我不能在本地开发时使用绝对链接,因为它显然没有与WordPress站点相同的目录结构。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

../directory1/directory2/directory3/css/stylesheet.css 如果我能准确地读到你的描述,你应该会明白的。

然而,我会非常谨慎地使用WordPress中的相对链接。它们并不总是按照您期望的方式工作,因为许多“目录”实际上并不存在。它们是由WordPress和mod_rewrite. 这两人合谋在文件系统结构上撒谎。例如,没有http://blog.com/category/cat-a. 该页面上的相对链接将被破坏。

你最好使用bloginfosite_url 以及构建绝对URL。site_url 功能是否首选。

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

结束

相关推荐

str_replace css meta tag?

我正在尝试修改css元标记,并使用CDN url和其他东西。我尝试的(快速测试)是:function change_stylesheet_loc($uri) { $uri = str_replace(\'example.com\', \'cdn.example.com\', $uri); return $uri; } add_filter(\'stylesheet_uri\', \'change_stylesheet_loc\', 20000); &