Otrzymuj posty według niestandardowego typu, taksonomii i terminu


13

Ok, więc mam niestandardowy typ postu o nazwie „Usługi”. Ten niestandardowy typ postu ma taksonomię o nazwie „Obszary” i zawiera 5 terminów.

Załóżmy, że mam 10 postów na temat „Usługi” i 5 postów pod terminem „Malarstwo” i 5 kolejnych pod terminem „Fotografia”.

Muszę być w stanie wyszukiwać posty z „Usług”, ale zamiast pokazywać te 10 postów, pokaż tylko 5 powiązanych z „Malowaniem”.

W tej chwili mogę wyszukiwać według taksonomii i terminów, ale to pokaże wszystkie posty z „usług” bez filtrowania według terminów.

Zasadniczo prześlij zapytanie o typ post_type od wybranego terminu.

Każda pomoc byłaby niesamowita. Dzięki.

<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>Nothing Here.</p>

<?php endif; wp_reset_postdata(); ?>

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

Więc gdybym mógł po prostu określić na $ args, z którego typu postu, aby uzyskać posty z tego, zostanie rozwiązany.


Ok, więc wygląda na to, że zastanowiłem się nad tym wszystkim, a rozwiązanie było naprawdę proste:
Powstań

Proszę zaznaczyć odpowiedź jako poprawną lub usunąć temat.
AlxVallejo

Muszę poczekać 7 godzin, aby opublikować rozwiązanie :(
Rise

Odpowiedzi:


25

To jest odpowiedź na pytanie :)

<?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(); 

?>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.