Я использую некоторую перезапись URL поверх перезаписи URL, которую Wordpress выполняет изначально.
Основная идея заключается в том, что я использую страницу категории с адресом, который выглядит так, как будто он принадлежит где-то еще, поэтому / blog / type / kids является истинной категорией в WP. Я переписываю это с помощью файла .htaccess в / kids /, чтобы категория выглядела как страница под названием / kids / Programs с этим кодом в папке kids:
RewriteEngine on
RewriteRule ^programs$ /blog/type/kids/ [P]
Это происходит в двух разных местах на сайте, но оба загружают одну и ту же страницу WP за кулисами. Это все отлично работает.
Что мне нужно сделать сейчас, это установить переменную, основанную на том, из какого места он загружается, чтобы гарантировать, что навигация подсвечивает соответствующий раздел сайта и показывает надлежащий subnav. Проблема в том, что я не могу получить доступ к новому, переписанному 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 имеет встроенный тег для этого?
Ура!