好了,现在我找到了一段代码,它可以使用自定义分类来显示自定义帖子类型的相关帖子。
$terms=get\\u术语($post->ID,\'product\\u tags,\'string\');是一种自定义分类法,您应该在其中查询自定义帖子类型中的所有标记。“post\\u type”=>“products”是一种自定义帖子类型,其中调用在自定义分类法中创建的所有自定义标记,在这种情况下是product\\u标记,请在循环或查询中的任何位置输入此代码,以显示自定义帖子类型中的所有帖子。这不会根据不同的标记筛选自定义帖子类型。这将显示自定义贴子类型中的所有标记,在本例中为products。
//Get array of terms
$terms = get_the_terms( $post->ID , \'product_tags\', \'string\');
//Pluck out the IDs to get an array of IDS
$term_ids = wp_list_pluck($terms,\'term_id\');
//Query posts with tax_query. Choose in \'IN\' if want to query posts with any of the terms
//Chose \'AND\' if you want to query for posts with all terms
$second_query = new WP_Query( array(
\'post_type\' => \'products\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'product_tags\',
\'field\' => \'id\',
\'terms\' => $term_ids,
\'operator\'=> \'IN\' //Or \'AND\' or \'NOT IN\'
)),
\'posts_per_page\' => 3,
\'ignore_sticky_posts\' => 1,
\'orderby\' => \'rand\',
\'post__not_in\'=>array($post->ID)
) );
//Loop through posts and display...
if($second_query->have_posts()) {
while ($second_query->have_posts() ) : $second_query->the_post(); ?>
<div class="single_related">
<?php if (has_post_thumbnail()) { ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <?php the_post_thumbnail( \'related_sm\', array(\'alt\' => get_the_title()) ); ?> </a>
<?php } else { ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<?php } ?>
</div>
<?php endwhile; wp_reset_query();
}
好了,现在这段代码帮助解决了使用自定义帖子类型在自定义分类法中进行过滤的问题。例如,我将project作为我的分类法,并用于自定义帖子类型。当我向每个项目添加不同的标记时,它们会创建一个tagportfolio分类法,在其中添加所有分类法并查询它们。