Pergunta

Preciso reescrever alguns URLs para modelos personalizados. Por exemplo, eu tenho uma página em domain.com/page, e quando um usuário clica em 'remover' em um elemento, ele vai para domain.com/page/?remove=54. Eu gostaria que reescreva para domain.com/page/remove/54.

A ajuda é apreciada, obrigado antecipadamente!

Foi útil?

Solução

Esse código exato não foi testado, mas deriva de outro exemplo de uma situação semelhante que eu resolvi recentemente:

add_action( 'init', 'ss_permalinks' );
function ss_permalinks() {
    add_rewrite_rule(
        'page/remove/([^/]+)/?',
        'index.php?pagename=page&service=$matches[1]',
        'top'
);
}
add_filter( 'query_vars', 'ss_query_vars' );
function ss_query_vars( $query_vars ) {
    $query_vars[] = 'removeid';
    return $query_vars;
}

Reave suas configurações do Permalink uma vez após a implementação. page é a lesma da página para apontar quando o usuário acessa este URL (domain.com/page/remove/432), e $matches[1] deve ser o número depois remove/ no URL. Este número é acessível pela variável especificada posteriormente, $query_vars[] = 'removeid';/ $ removeid no modelo da página de destino será o número no URL, se especificado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top