web-dev-qa-db-ja.com

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

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

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

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

現時点で私は分類学と用語によって質問することができます、しかしそれは用語によってフィルタなしで「サービス」からのすべての投稿を表示するでしょう。

基本的に私が選んだ用語からpost_typeでpostを問い合わせます。

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

<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に指定することができれば解決されるでしょう。

11
Rise

これが質問に対する答えです。

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

?>
20
Rise