Current URL path variable

时间:2014-04-04 作者:Willee5586

WordPress有一个内置变量$pagename 这将给出当前页面。我正在寻找一些东西,将提供完整的url,包括当前页面之前的路径。详情如下。

我使用页面模板显示文件夹内容,具体取决于某人所在的页面。目前,此方法适用于顶级路径,但不适用于任何嵌套的路径。我理解它为什么不起作用,但我不知道如何修复它。下面是我现在正在做的一个例子:

$dir = "wp-content/uploads/Docs/".$pagename;

因此,这将为我提供指向顶级页面的正确路径,但它们下面的任何内容都不会起作用。我知道简单的解决方案是将所有文件夹保持在上传目录的基本级别,但我希望我的服务器端文件也有意义。url如何使用$pagename 现在查看:

example.com/accounting

但假设我在/accounting中有这样一个页面:

example.com/accounting/accounts-receivable

使用$pagename 方法仅提供以下信息:

example.com/accounts-receivable

我的首选解决方案是使用$pagename 并获取完整路径。我已经在法典中找到了一个解决方案,但我要么没有看到它,要么它不在那里。我专门研究了全局变量(http://codex.wordpress.org/Global_Variables) 看看有没有。在那本法典里,他们没有提到$pagename 变量,尽管它确实存在。希望完整路径也有类似的变量。

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

你可以把permalink去掉根-

$path = substr( get_permalink(), strlen( home_url(\'/\') ) );

结束

相关推荐

get page templates

我有这个问题,我需要获得所有页面模板。我知道有很多方法可以根据他们的名字得到他们。我知道我可以包含一个页面模板,但我正在尝试将它们包含在索引页面的循环中。我刚刚安装了2012主题,修改了标题以包含我的脚本。我使用了Milo提供的一个功能,将所有帖子和页面加载到正在运行的主页中。现在,我需要包括所有模板,甚至那些我不知道其名称的模板。在抄本中,我发现了一个函数get_page_templates() 这似乎不再有效了。它给出了这个片段 <?php $templates = get_p