1
resposta

Queria colocar mais de uma taxonomia no site é possível?

Lá no site mostra uma taxonomy só sendo utilizada e eu subentendi que seria só colocar outras taxonomies.

Então fiz isso

functions.php

    <?php 
        $existeBusca = array_key_exists('taxonomy', $_GET);
        if($existeBusca && $_GET['taxonomy'] === '' ){
            wp_redirect( home_url() );
        }
        require_once('header.php'); 
    ?>
    <main class="home-main">
        <div class="container">
            <?php $generos = get_terms('genero'); ?>
            <?php $temporadas = get_terms('temporada'); ?>
            <?php $anos = get_terms('ano'); ?>
            <br/>
            <form action="<?= bloginfo('url') ?>">
                <div class="row">
                    <div class="form-group col-md-3">
                        <select class="form-control" name="genero">
                            <option value="">Todos os Gêneros </option>
                            <option value="" disabled="disabled">--------------</option>
                            <?php foreach ($generos as $genero){ ?>
                            <option value="<?= $genero->slug ?>"><?= $genero->name; ?></option>    
                            <?php } ?>                    
                        </select>                        
                    </div>
                    <div class="col-md-3">
                        <select class="form-control" name="temporada">
                            <option value="">Todas as Temporadas </option>
                            <option value="" disabled="disabled">--------------</option>
                            <?php foreach ($temporadas as $temporada){ ?>
                            <option value="<?= $temporada->slug ?>"><?= $temporada->name; ?></option>    
                            <?php } ?>                    
                        </select>
                    </div>
                    <div class="col-md-2">
                        <select class="form-control" name="ano">
                            <option value="">Todos os Anos </option>
                            <option value="" disabled="disabled">--------------</option>
                            <?php foreach ($anos as $ano){ ?>
                            <option value="<?= $ano->slug ?>"><?= $ano->name; ?></option>    
                            <?php } ?>                    
                        </select>
                    </div>
                    <div class="form-group">                        
                        <button type="submit" class="btn btn-default">Buscar</button>                        
                    </div>
                </div>
            </form>
            <?php 
            if($existeBusca){
                $taxQuery = array(
                    array(
                        'taxonomy' => 'taxonomy',
                        'field' => 'slug',
                        'terms' => $_GET['genero']
                    )
                );

            }
            $args = array( 
                'post_type' => 'projeto',
                'tax_query' => $taxQuery
            );
            $loop = new WP_Query( $args );
            if( $loop->have_posts() ) { ?>
            <ul class="imoveis-listagem">
                <?php while( $loop->have_posts() ) {
                    $loop->the_post(); ?>

                    <li class="imoveis-listagem-item">
                        <a href="<?= the_permalink(); ?>">
                            <?php the_post_thumbnail(); ?>

                            <h2><?php the_title(); ?></h2>

                            <p><?php the_content(); ?></p>
                        </a>
                    </li>

                    <?php } ?>
                </ul>
                <?php    } ?>
            </div>
        </main>


        <?php get_footer(); ?>

e na function.php adicionais mais taxonomias:

//Taxonomia
$nomeSingular = 'Gênero';
$nomePlural = 'Gêneros';
$labels = array(
    'name' => $nomeSingular,
    'singular_name' => $nomePlural,
    'edit_item' => 'Editar '. $nomeSingular,
    'add_new_item' => 'Adicionar nome '. $nomeSingular
);
$args = array(
    'labels' => $labels,
    'public' => true,
    'hierarchical' => true
);
register_taxonomy('genero','projeto',$args);

//Taxonomia
$nomeSingular = 'Ano';
$nomePlural = 'Anos';
$labels = array(
    'name' => $nomeSingular,
    'singular_name' => $nomePlural,
    'edit_item' => 'Editar '. $nomeSingular,
    'add_new_item' => 'Adicionar nome '. $nomeSingular
);
$args = array(
    'labels' => $labels,
    'public' => true,
    'hierarchical' => true
);
register_taxonomy('ano','projeto',$args);


//Taxonomia
$nomeSingular = 'Temporada';
$nomePlural = 'Temporadas';
$labels = array(
    'name' => $nomeSingular,
    'singular_name' => $nomePlural,
    'edit_item' => 'Editar '. $nomeSingular,
    'add_new_item' => 'Adicionar nome '. $nomeSingular
);
$args = array(
    'labels' => $labels,
    'public' => true,
    'hierarchical' => true
);
register_taxonomy('temporada','projeto',$args);

O problema é que quando eu seleciono só 1 taxonomy no lugar de aparecer na url só

http://localhost/wordpress/project/?genero=fantasia

ele aparece

http://localhost/wordpress/projetoAnime/genero/fantasia/?temporada&ano

Alguém pode me ajudar?

PS: Primeira pergunta minha queria ter uma avaliação se ela foi bem feita e o que eu posso mudar se fosse faze-las num guj ou stack overflow, obrigado.

1 resposta

Oi Vicente, tudo bem? Desculpa mas eu não entendi bem sua pergunta, você quer tentar me explicar novamente pra ver se eu pego a ideia? Qual é o problema/dúvida de fato?