如何处理好两个岗位之间的关系

时间:2017-06-13 作者:aitor

I\'have this structure(我有这个结构):

  • News (显示所有新闻的页面)Works (CPT。显示所有作品的页面)然后,在works 我想展示与这项工作相关的新闻:

    单篇作品标题内容与单篇作品相关的新闻News 和单柱输入Works?

    好吧,我可以手工创建一个类别术语,每个作品的名称都相同,然后将该术语分配给新闻单帖。但是,内容编辑器有很高的拼写错误风险和大量工作。有没有可能得到一种更自动化的方法?

    非常感谢。

2 个回复
最合适的回答,由SO网友:Johansson 整理而成

您必须手动设置关系。如果你不自己设置标签的话,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());
您可以执行一个条件操作,以便对这两种帖子类型使用相同的函数。

SO网友:Jiten Gaikwad

您可以使用Advance custom fields 此插件。为CPT选择字段组works 并将字段类型“Relationship”与CPT一起使用news. 它将在管理面板中提供UI,从可用新闻中选择一个。

结束

相关推荐