• Estou tentando adicionar uma regra de reescrita para que meus posts sigam o padrão de URL como praias/regiao/%regiao%/post porém não está funcionado, dá erro 404.

    Código:

    add_filter('post_link', 'praias' , 10, 2);
        add_filter('post_type_link', 'praias' , 10, 2);
    
        function praias($link, $id = 0){
        	$post = get_post($id);
    
        	if(is_wp_error($post) || 'praias' != $post->post_type || empty($post->post_name)):
        		return $link;
        	endif;
    
        	$terms = get_the_terms($post->ID, 'regioes-de-praias');
    
        	if($terms):
        		$terms = array_pop($terms);
        		return home_url(user_trailingslashit("praias/regiao/{$terms->slug}/{$post->post_name}"));
        	else:
        		return home_url(user_trailingslashit("praias/{$post->post_name}"));
        	endif;
        }
    
        add_rewrite_rule(
            'praias/regiao/(.*)/(.*)/',
            'index.php?post_type=praias&praias=$matches[1]&p=$matches[2]',
            'top'
        );

    Alguém sabe como resolver?

    Obs: o permalink direto para a categoria, ex: praias/regiao/norte funciona perfeitamente, o problema é quando tento acessar algum post, ex: praias/regiao/norte/mocanbique, lembrando que o padrão do permalink é/deve ser “post_type/taxonomy/term/post”.

Visualizando 1 resposta (de um total de 1)
  • Moderador Míriam de Paula

    (@miriamdepaula)

    Vc chegou a dar um “flush” nos rewrites?
    Vai em Configurações > Links Permanentes e Salva pra ver se resolve… Ou tenta alguma função de flush rewrite….

    Abs.

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Erro 404 com Rewrite Rule para estrutura diferente de Permalink em posts’ está fechado para novas respostas.