Para modificar as regras de reconfiguração de pesquisa, você pode conectar-se ao filtro search_rewrite_rules
. Você pode adicionar as regras de regravação adicionais que correspondem aos tipos de postagens ou alterar a "estrutura de regravação de pesquisa" padrão para incluir também o tipo de postagem e gerar novamente as regras (há quatro regras: um padrão, um com paginação e dois para feeds). Porque WP_Rewrite::generate_rewrite_rules()
gera regras em todos os "níveis de diretório" , você receberá regras para /search/[keyword]/section/[post_type]/
, /search/[keyword]/section/
e /search/[keyword]/
. Você não precisa da regra do meio, mas não vai doer mantê-lo.
add_filter( 'search_rewrite_rules', 'wpse15418_search_rewrite_rules' );
function wpse15418_search_rewrite_rules( $search_rewrite_rules )
{
global $wp_rewrite;
$wp_rewrite->add_rewrite_tag( '%post_type%', '([^/]+)', 'post_type=' );
$search_structure = $wp_rewrite->get_search_permastruct();
return $wp_rewrite->generate_rewrite_rules( $search_structure . '/section/%post_type%', EP_SEARCH );
}
Para verificar as regras, use o meu plug-in do analisador de reconfiguração .