2013-10-04 3 views
0

Когда я добавляю/редактирую сообщение, я могу изменить slug of permalink. Но я не могу добавить косые черты. Так предположим, у меня естьset wordpress post permalink для определенной страницы

http://domain.com/myslug 

, но мне нужно

http://domain.com/myslug1/myslug2

когда я сохраняю это делает

http://domain.com/myslug1myslug2 

Как я могу преодолеть это?

ответ

0

Когда вы заходите на страницу, допустим, 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, были бы неправильными.

  1. Там нет родительской страницы называется myslug1
  2. Там нет страницы называется myslug2
  3. Там нет правила перезаписи, что позволяет WordPress знать, как обращаться с myslug1/myslug2 слизняка

Все, что сказал, все равно можно выполнить то, что вы хотите, но, возможно, не на пути создания слизней. Должен быть шаблон, какое-то правило, которое вы можете дать WordPress, который говорит «если x, а затем y».

Например, у вас может быть мета-поле с полем ввода, которое всякий раз, когда вы что-то вводили в него, этот слизень появлялся в конце URL-адреса. Или, может быть, вы можете сэндвич пользовательский слизень между domain.com и myslug2.

Вот несколько вещей, чтобы искать в:

  1. add_rewrite_rule функции - Позволяет указать дополнительные правила перезаписи
  2. add_rewrite_tag функция - Сделать WordPress известно строковых переменных пользовательских запросов
  3. query_vars фильтр - позволяет запрос vars, который должен быть обработан до выполнения запроса
  4. template_redirect action - Выполняется непосредственно перед тем, как WordPress определит, какую страницу шаблона загрузить

Другим подходом может быть создание родительской страницы с myslug1, а затем дочерняя страница с myslug2. Или, в зависимости от ваших потребностей, вы также можете взглянуть на custom post types. У вас может быть собственный тип сообщения, называемый myslug1, а затем сообщения с ним, где один пост будет myslug2.

Если у вас есть конкретные вопросы об осуществлении одного из вышеупомянутых, просмотрите «Переполнение стека» или отправьте другой вопрос с подробной информацией, если вы не можете найти ответ.

+0

действительно есть url myslug1/myslug2, поэтому я могу открыть его вручную, но я хочу установить permalink, которые ссылаются на myslug1/myslug2, см.? –

+0

Что создало этот URL-адрес и как его вручную открыть? – NightHawk

+0

ex, введите ссылку в строке URL браузера и нажмите go или введите :) –

Смежные вопросы