Переписать правила, не перенаправляющие переписывание

У меня есть следующие пользовательские правила перезаписи.

add_action( 'init', 'corse_rewrite_rules', 0 ); function corse_rewrite_rules( ) { add_rewrite_rule('listings/make/([^/]*)/page/?([0-9]{1,})/?$', 'index.php?post_type=product&product_make_model=$matches[1]&paged=$matches[2]', 'top'); add_rewrite_rule('listings/make/([^/]*)/?$', 'index.php?post_type=product&product_make_model=$matches[1]', 'top'); } 

Какой должен выглядеть URL-адрес:

 /product_make_model/stuff/ 

к:

 /listings/make/stuff/ 

Проблема в том, что, хотя Rewrite работает и доступен новый URL, он не перенаправляет старый URL на новый.

Если я также добавлю плагин SEO, такой как YOAST, канонический URL-адрес будет указан как старый URL-адрес, подтверждающий, что что-то не так.

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

Ok удалось понять это, вместо того, чтобы добавлять действие для перезаписи. Потому что то, что я хотел переписать, было таксономией, я должен был использовать что-то вроде этого:

 'rewrite' => array('slug' => 'listings/make', 'product_make_model' => false) 

При регистрации таксономии, которая в основном переписывает слизнь, когда таксомомия создается / регистрируется.

Работает отлично.