Я нашел способ сделать это с помощью PHP и функции WordPress.
Вот низкий уровень. В код вашего шаблона включите глобальную переменную $ wp_query, а затем используйте ее свойство запроса, которое является массивом. Один из этих индексов массива называется «pagename», и он возвращает запрос uri рассматриваемой страницы. Итак, предположим, что ваш URL-адрес http://website.com/profile/johndoe
и ваша установка WordPress находится в вашем webroot, а затем этот код:
global $wp_query;
echo $wp_query->query['pagename']
выведет "профиль / johndoe".
Однако, если url: http://website.com/cms/profile/johndoe
, что означает, что ваш WordPress устанавливается в каталог cms
, а не webroot, приведенный выше код все равно вернет profile/johndoe
, что означает, что он учитывает разницу Адрес WordPress и адрес сайта устанавливаются на панели настроек.
В любом случае, хорошая сторона в том, что вы можете взять этот вывод и разбить его на массив следующим образом:
$segments = array_explode('/', $wp_query->query['pagename']);
Я считаю, что первый сегмент (profile
в этом случае будет назначен первому индексу массива и т. Д.).
В любом случае, он не так хорош, как CodeIgniter, но он не требует большого количества кода и делает свое дело.