您必须手动设置关系。如果你不自己设置标签的话,WordPress还不够聪明,无法通过标签来关联帖子(不过它可以使用类别,但效率不高)。
您可以做的是在News
发布,然后使用它们在中搜索标记Works
职位。以下是一个示例:
get_related_posts($id){
// Get current post\'s tags
$tags = wp_get_post_tags($id);
// Check if the post has any tags
if ($tags) {
// If it does, get them and make a query based on tags
$tag_ids = array();
foreach($tags as $individual_tag) {
$tag_ids[] = $individual_tag->term_id;
}
$args = array(
\'tag__in\' => $tag_ids,
\'post__not_in\' => array($id),
\'posts_per_page\'=>8,
\'ignore_sticky_posts\'=> 1,
\'post_type\' => \'works\'
);
$related_query = new WP_Query( $args );
// Starting the loop
if ( $related_query->have_posts()) {
while ($related_query->have_posts()){
$related_query->the_post();
the_title();
}
}
}
wp_reset_postdata();
}
为该函数提供一个帖子ID,您将在
Works
与此帖子具有相同标记的帖子类型:
get_related_posts(get_the_ID());
您可以执行一个条件操作,以便对这两种帖子类型使用相同的函数。