【发布时间】:2019-03-01 18:18:14
【问题描述】:
在 Wordpress 本地进行的 URL 重写之上,我正在使用一些 URL 重写。
基本思想是我使用一个类别页面,其地址看起来像是属于其他地方,因此 /blog/type/kids 是 WP 中的真正类别。我用 /kids/ 中的 .htaccess 文件重写了它,以使该类别看起来像它实际上是一个名为 /kids/programs 的页面,并在 kids 文件夹中使用此代码:
RewriteEngine on
RewriteRule ^programs$ /blog/type/kids/ [P]
这发生在网站的两个不同位置,但两者都在后台加载相同的 WP 页面。这一切都很好。
我现在需要做的是根据加载位置设置一个变量,以确保导航突出显示网站的正确部分,并显示正确的子导航。问题是我无法访问用户看到的新的重写 URL。
理想情况下,我正在寻找这样的东西:
if(strpos($_SERVER['PHP_SELF'],'kids//programs')) {
$top_nav_item_id = 'kids';
} else {
$top_nav_item_id = 'programs';
$subnav_item_id = 'kids';
}
PHP_SELF 解析为 /blog/index.php 并且 REQUEST_URI 显示 /blog/type/kids。所以两者都没有向我显示真正显示的 /kids/programs 位置。
任何想法如何得到这个?也许 WP 有一个内置标签?
干杯!
【问题讨论】:
标签: php wordpress url-rewriting wordpress-theming