Obține Articole după Tip de Articol Personalizat, Taxonomie și Termen

14 mar. 2012, 19:43:14
Vizualizări: 131K
Voturi: 19

Ok, am un Tip de Articol Personalizat numit "Services". Acest tip de articol personalizat are o taxonomie numită "Areas" și există 5 termeni în această taxonomie.

Să zicem că am 10 articole în "Services" și există 5 articole în termenul "Painting" și încă 5 în termenul "Photography".

Am nevoie să pot interoga articolele din "Services" dar în loc să afișez toate cele 10 articole, să afișez doar cele 5 asociate cu "Painting".

În acest moment pot să interoghez după taxonomie și termeni, dar asta va afișa toate articolele din "services" fără filtru după termen.

Practic, să interoghez articolele după post_type din termenul pe care îl aleg.

Orice ajutor ar fi extraordinar. Mulțumesc.

<ul id="service-list">
<?php 
        $args = array('tax_query' => array( array('taxonomy' => 'areas', 'field' => 'slug','terms' => 'painting')));

        $the_query = new WP_Query( $args );

        if($the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();

        ?>

    <li class="service">
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
    </li><!-- /.service -->

<?php endwhile; else: ?>

    <p>Nu există nimic aici.</p>

<?php endif; wp_reset_postdata(); ?>

</ul><!-- #service-list -->

Deci dacă aș putea specifica în $args din ce tip de articol să obțin articolele, această problemă ar fi rezolvată.

3
Comentarii

Ok, deci se pare că am complicat prea mult totul și soluția a fost de fapt foarte simplă:

Rise Rise
14 mar. 2012 19:55:34

Te rog să marchezi răspunsul ca fiind corect sau să ștergi subiectul.

AlxVallejo AlxVallejo
14 mar. 2012 19:57:22

Trebuie să aștept 7 ore pentru a posta soluția :(

Rise Rise
14 mar. 2012 19:58:28
Toate răspunsurile la întrebare 1
0
36

Acesta este răspunsul la întrebare :)

<?php 

$args = array(
    'post_type'=> 'services',
    'areas'    => 'painting',
    'order'    => 'ASC'
);              

$the_query = new WP_Query( $args );
if($the_query->have_posts() ) : 
    while ( $the_query->have_posts() ) : 
       $the_query->the_post(); 
       // conținutul va fi aici
    endwhile; 
    wp_reset_postdata(); 
else: 
endif;

?>
22 mar. 2012 17:25:04