Intereting Posts

add_rewrite_rule – Страница Slug от "/ foo-bar /" до "/ foo / bar /"

Мне нужно foo-bar, чтобы стать foo / bar:

//domain.com / foo-bar »//domain.com / foo / bar


Я перестраиваю веб-сайт, который в настоящее время находится в домашней CMS. У них есть несколько страниц с детьми, но URL-адрес родительской страницы не соответствует детям. Исходные URL-адреса были изменены, но дети никогда не обновлялись.

Ожидаемая структура:
//domain.com/parent/
//domain.com/parent/child

Текущая структура:
//domain.com/parentpage/ ( изменено с / parent / )
//domain.com/parent/child

Я мог бы просто создать страницу для каждого, но я стараюсь избегать пустых / неиспользуемых страниц.

То, что я надеюсь сделать, это просто создать //domain.com/parent-child/ и переписать URL-адрес для соответствия, но я не могу заставить мои правила принимать приоритет над существующим правилом .

Может быть, я не понимаю, что может сделать переписывание?


add_rewrite_rule

Согласованный запрос:

pagename=foo-bar&page= 

Мои попытки: я ожидал, что один из них станет моим решением, но я пробовал дюжину различных незначительных вариаций без успеха:

 add_rewrite_rule( '^foo/bar', 'index.php?pagename=foo-bar', 'top'); add_rewrite_rule( '(foo)/(bar)', 'index.php?pagename=$matches[1]-$matches[2]&page=', 'top'); 

Правило по умолчанию моя страница соответствует:

 add_rewrite_rule( '(.?.+?)(?:/([0-9]+))?/?$', 'index.php?pagename=$matches[1]&page=$matches[2]') 

Solutions Collecting From Web of "add_rewrite_rule – Страница Slug от "/ foo-bar /" до "/ foo / bar /""

Это правило – это то, с чем я столкнулся после поиска этого сообщения: Понимание add_rewrite_rule

 add_rewrite_rule( '^foo/([^/]*)/?$', 'index.php?pagename=foo-$matches[1]', 'top' ); 

Прежде всего, вы можете изменять правила не только с помощью add_rewrite_rule но и с фильтрами (один – общий, который я использую во всех распространенных случаях, это rewrite_rules_array ). Вы получите массив правил перезаписи (и вы ожидаете вернуть его обратно), но вы можете немного изменить его.

И (минута рекламы) – вы также можете использовать панель правил отладки и панель отладки панели перезаписи, чтобы проверить свои правила против ваших тестовых URL-адресов, чтобы увидеть приоритет / совпадения и т. Д. Я являюсь автором этого плагина (панель правил перезаписи панели отладки) и рада за отзыв.