我试图查询一个自定义帖子类型的类别以显示在另一个自定义帖子类型中,但前提是它们具有匹配的类别。
我刚刚开始编写一个相当复杂的WordPress网站(很有趣)-我想我可能键入的查询错误-任何帮助都将不胜感激。
<section id="meet-team">
<div class="container">
<h2>Title will be custom field</h2>
<p class="lead">custom field text will be in here</p>
<div class="row">
<?php $category = get_category( get_query_var( \'cat\' ) );
$类别id=$类别->类别id;?>
<?php get_posts($args =array(
\'posts_per_page\' => 2,
\'post_type\' => \'team\',
\'category\' =>$cat_ID) ); ?> <!-- this is the bit I think I am struggling with -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="col-6">
<?php if ( has_post_thumbnail()) { $url = wp_get_attachment_url( get_post_thumbnail_id() ); ?>
<img src="<?php echo $url; ?>" alt="<?php the_title() ?>">
<h3><?php the_title() ?></h3>
<p><?php the_excerpt() ?></p>
<a href="<?php the_permalink() ?>"></a>
</div><!-- col -->
<?php } ?>
<?php endwhile; endif; ?>
</div><!-- row -->
</div><!-- container -->
</section><!-- meet-team -->
<?php wp_reset_query(); ?>
最合适的回答,由SO网友:Michael 整理而成
如果要将自定义查询添加到单个模板中,请尝试使用get_the_category()
获取用于查询的cat\\U id;而且get_posts()
不适用于if( have_posts() )
等
使用自定义查询的示例代码:
<?php
$cat = get_the_category();
$cat_id = $cat[0]->term_ID;
$cpt_match_query = new WP_Query( array(
\'posts_per_page\' => 2,
\'post_type\' => \'team\',
\'cat\' => $cat_id) );
if ( $cpt_match_query->have_posts() ) :
while ( $cpt_match_query->have_posts() ) :
$cpt_match_query->the_post();
?>
YOUR OUTPUT SECTION
<?php
endwhile;
endif;
wp_reset_postdata();
?>
上面没有考虑代码中的html标记,这也需要重新调整。