Когда вы заходите на страницу, допустим, domain.com/careers
, WordPress должен выяснить, какое сообщение нужно получить из базы данных.
Он рассмотрит все свои правила перезаписи и попытается найти тот, который соответствует запросу. В этом случае, последнее правило будет поймать:
[(.?.+?)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]
Он пройдет в careers
($matches[1]
) в качестве значения pagename
, рассекает его соответствующим образом, а затем искать в базе данных на пост под названием careers
.
При посещении страницы с именем domain.com/careers/internships
последнее правило будет применяться снова. На этот раз он пройдет в careers/internships
, проанализируйте его соответствующим образом, установите родителя сообщения в careers
, а затем загляните в базу данных для сообщения с именем internships
, которое соответствует родительскому.
Если WordPress должен был установить слизень на myslug1/myslug2
, предположения, сделанные в WordPress, были бы неправильными.
- Там нет родительской страницы называется
myslug1
- Там нет страницы называется
myslug2
- Там нет правила перезаписи, что позволяет WordPress знать, как обращаться с
myslug1/myslug2
слизняка
Все, что сказал, все равно можно выполнить то, что вы хотите, но, возможно, не на пути создания слизней. Должен быть шаблон, какое-то правило, которое вы можете дать WordPress, который говорит «если x, а затем y».
Например, у вас может быть мета-поле с полем ввода, которое всякий раз, когда вы что-то вводили в него, этот слизень появлялся в конце URL-адреса. Или, может быть, вы можете сэндвич пользовательский слизень между domain.com
и myslug2
.
Вот несколько вещей, чтобы искать в:
- add_rewrite_rule функции - Позволяет указать дополнительные правила перезаписи
- add_rewrite_tag функция - Сделать WordPress известно строковых переменных пользовательских запросов
- query_vars фильтр - позволяет запрос vars, который должен быть обработан до выполнения запроса
- template_redirect action - Выполняется непосредственно перед тем, как WordPress определит, какую страницу шаблона загрузить
Другим подходом может быть создание родительской страницы с myslug1
, а затем дочерняя страница с myslug2
. Или, в зависимости от ваших потребностей, вы также можете взглянуть на custom post types. У вас может быть собственный тип сообщения, называемый myslug1
, а затем сообщения с ним, где один пост будет myslug2
.
Если у вас есть конкретные вопросы об осуществлении одного из вышеупомянутых, просмотрите «Переполнение стека» или отправьте другой вопрос с подробной информацией, если вы не можете найти ответ.
действительно есть url myslug1/myslug2, поэтому я могу открыть его вручную, но я хочу установить permalink, которые ссылаются на myslug1/myslug2, см.? –
Что создало этот URL-адрес и как его вручную открыть? – NightHawk
ex, введите ссылку в строке URL браузера и нажмите go или введите :) –