Удаление коротких версий URL-адреса категории

Я занимаюсь сайтом, где кто-то настроил /% category% /% postname% как структуру Permalink.

Побочным эффектом этого является то, что архив категорий будет отображаться как в обычном / category / foo, так и в / foo.

Один недостаток этого заключается в том, что он создает дублируемую страницу. Другое дело, что любая ссылка «Старые сообщения» на этой второй странице не будет работать, так как она укажет на / foo / page / 2, которая вернет 404.

Есть ли способ отключить версию / foo страницы без изменения структуры Permalink?

Я предполагаю, что есть способ удалить правило оскорбительного правила перезаписи из массива правил, возможно, на generate_rewrite_rules , что приведет к тому, что я не уверен, что, может быть, 404, или WordPress попытается перенаправить на правильный URI.

или я придумал этот бит кода для проверки запросов category без category в URL-адресе и 301 перенаправляет их на версию с category . Это немного грубо, но это может сработать для вас.

 function wpa_category_requests( $request ){ if ( ! is_admin() && isset( $request->query_vars['category_name'] ) && ! isset( $request->query_vars['name'] ) ){ if ( false === strpos( $request->request, 'category' ) ){ wp_redirect( home_url( '/category/' . $request->query_vars['category_name'] . '/' ), 301 ); } } } add_action( 'parse_request', 'wpa_category_requests' );