カスタム投稿タイプ、分類、および用語ごとに投稿を取得する


13

さて、「サービス」というカスタム投稿タイプがあります。このカスタム投稿タイプには「エリア」と呼ばれる分類があり、その分類には5つの用語があります。

「サービス」に10件の投稿があり、「絵画」という用語に5件の投稿があり、「写真」という用語に5件の投稿があるとします。

「サービス」から投稿をクエリできるようにする必要がありますが、それらの10件の投稿を表示する代わりに、「ペイント」に関連付けられた5件のみを表示します。

現時点では、分類と用語でクエリを実行できますが、「サービス」からのすべての投稿が、用語によるフィルターなしで表示されます。

基本的に、選択した用語からpost_typeで投稿をクエリします。

どんな助けでも素晴らしいでしょう。ありがとう。

<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 -->

したがって、私が$ argsで指定することができれば、どの投稿タイプから投稿を取得するかが解決されます。


わかりましたので、私はこれらすべてを考えすぎたように見え、解決策は本当に簡単でした:
Rise

正解として回答をマークするか、トピックを削除してください。
AlxVallejo

私は解決策を投稿する7時間を待つ必要がある:(
ライズ

回答:


25

これは質問への答えです:)

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

?>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.