Направить новую схему перезаписи URL на новую?

У меня есть следующий URL-адрес для персонализированного типа сообщения:

add_rewrite_rule( 'event/([0-9]+)', 'index.php?post_type=event&p=$matches[1]', 'top' ); 

Из-за изменения структуры сайта я буду перемещать это из /event/id в /workshop/event/id как /workshop/event/id ниже:

 add_rewrite_rule( 'workshop/event/([0-9]+)', 'index.php?post_type=event&p=$matches[1]', 'top' ); 

Как вернуть HTTP 301 на исходную схему URL-адресов из плагина wordpress?

Solutions Collecting From Web of "Направить новую схему перезаписи URL на новую?"

Легкий способ сделать это – сохранить оба правила перезаписи активными (пока).

На single-event.php вы проверяете URL-адрес, даже перед вызовом wp_header() .

Если URL-адрес не содержит базового «семинара», добавьте wp_redirect() :

 wp_redirect( get_permalink( get_the_ID() ) ); 

Таким образом, вы должны быть настроены. Если вам не нравится wp_redirect() , вы можете, конечно, просто изменить информацию заголовка с помощью PHP.

Я знаю, что это не в самом Плагине. Если вы действительно зависите от плагина, вы можете сделать тот же метод, подключившись к раннему действию.