Isso funcionou para mim:
remove_action('template_redirect', 'redirect_canonical');
O Wordpress tem um recurso pelo qual ele redirecionará automaticamente seus URLs se eles forem gravados incorretamente. Aqui está um exemplo: Eu tenho uma página chamada my-page
Se eu for para:
www.mysite.com/something/my-page/
ele me redirecionará imediatamente para
www.mysite.com/my-page/
como nada existe no primeiro URL.
Como posso desativar esse recurso e, em vez disso, só obtenho um 404 se URLs incorretos forem digitados?
Isso funcionou para mim:
remove_action('template_redirect', 'redirect_canonical');
Como Ash sugeriu, você pode desativar o recurso usando o seguinte código:
remove_action('template_redirect', 'redirect_canonical');
Ao olhar para a função redirect_canonical em canonical.php, parece que você também pode modificar o comportamento com seu próprio filtro.
No final da função redirect_canonical (), há uma chamada para filtrar a resposta final:
$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
Assim, você pode escrever seu próprio filtro para modificar o redirecionamento final ou retornar null para interromper o redirecionamento, com base na entrada, portanto, desativando o recurso para um URL específico ou um subconjunto de URLs.