Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Listando os imóveis da cidade num endereço diferente

Eu desejo fazer uma outra pergunta para deixar ainda melhor o projeto da Imobiliária Malura!

O filtro por cidade na index.php ficou bom, mas daria para fazer um endereço separado por cidade? (as cidades são taxonomias)

Por exemplo, se o visitante acessar /sao-paulo listar somente São Paulo, /rio-de-janeiro listar os imóveis do Rio, e assim por diante.

Se isso for possível, como eu posso fazer?

3 respostas

Opa Daniel Bins, beleza? Tem sim! Assim como a gente criou uma página para os imóveis individuais ( single.php ) e para as páginas tbm ( page.php) a gente pode criar pra taxonomias.

Como no caso nossa taxonomia é a de localização, teriamos que criar o arquivo taxonomy-localizacao.php

Dentro desse arquivo basta rodar o the loop com a taxonomia desejada para renderizar certinho pra gente (:

Dai quando vc acessar o url vai ficar assim por exemplo: http://localhost:3000/index.php/localizacao/rio-de-janeiro

Repara que é um pouco diferente da nossa implementação.

Qqr coisa dá pra ver mais informações aqui (:

http://wordpress.stackexchange.com/questions/20431/how-to-get-taxonomy-term-of-the-current-page-and-populate-queries-in-the-templat

E aqui:

https://developer.wordpress.org/themes/basics/template-hierarchy/#Custom_Taxonomies_display

Abraços!

solução!

Obrigado Yuri!

Funcionou perfeitamente!

Os ajustes foram mínimos, eu eliminei o código do começo onde tinha o $queryTaxonomy e no lugar criei uma variável chamada cidade:

$cidade = get_query_var('term');

E eu alterei aquele array que fica no tax_query para ficar assim:

if($cidade) { 
            $taxQuery = array(
                array(
                    'taxonomy' => 'localizacao',
                    'field' => 'slug',
                    'terms' =>$cidade
                    )
            );
        }

Ao rodar, tudo funcionou :-)

Caso eu tivesse apenas criado o arquivo taxonomy.php, eu teria que usar um segundo comando para saber qual foi a taxonomia acessada:

$taxonomia_acessada = get_query_var( 'taxonomy' );

E depois alterar o tax_query de acordo com este resultado.

Excelente Daniel, mandou super bem! Vou marcar sua resposta como solução! (: