如何将一种自定义发布类型与另一种自定义发布类型相关联

时间:2012-04-13 作者:Sidra Sultana

我正在用以下流程编写一个考试插件:

主题类别(自定义分类法)与主题类别(自定义分类法)相关的考试(自定义帖子类型)与考试(自定义帖子类型)相关的MCQ(自定义帖子类型)在添加新MCQ时,我需要将其与考试关联,但考试是一种帖子类型,而不是分类法。如何管理?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

您的数据组织并不完美,这就是您面临当前困境的原因。

使用2个分类法和2个帖子类型,而不是2个帖子类型和一个分类法

主题类别(分类法)

  • 问题集(分类法)
  • 考试(职位类型)
  • MCQ(职位类型)
    1. 将MCQ分配给问题集,并将考试分配给主题类别和问题集。

      在科目类别存档中,列出考试职位类型。在考试帖子中,列出所有共享当前帖子问题集的MCQ。

      这使您可以灵活地在考试之间共享问题、一次更改多个考试中出现的问题以解决所有问题、减少不必要的重复等

      在一次考试中。php:

      $terms = get_the_terms( $post->ID, \'question-sets\' );
      
      if ( $terms && ! is_wp_error( $terms ) ) :{
      
          foreach ( $terms as $term ) {
              $q = new WP_Query(\'post_type\' => \'mcq\',\'question-sets\' => $term->name);
              if($q->have_posts()){
                  while($q->have_posts()){
                      $q->the_post();
                      get_template_part(\'single\',\'mcq\');
                  }
              }
              wp_reset_postdata();
          }
      }
      
      其中单个mcq。php包含单个mcq的html。

    结束

    相关推荐