web-dev-qa-db-ja.com

プリセット分類法の説明を表示する

教育課程データベースでは、機関はカスタム分類法として使用されます。 1つの研究所に少なくとも50の投稿(コース)があるので、どのようにしてすべての関連する投稿に「研究所」分類法の説明を表示できますか...

1
Allen

仮定:

  • institute分類法です
  • courseの用語です
  • 投稿ごとにcourseが1つだけ割り当てられます
  • コースの説明を表示しますか。

もしそうなら、最も簡単な方法は get_the_terms() を使うことです。分類法がinstituteの場合は、次のようなことができます。

<?php
// globalize $post
global $post;
// Get the course for the current post
$post_courses = get_the_terms( $post->ID, 'institute' );
// Assuming only one course, get the first object of the array
$post_course = $post_courses[0];
// Get the course description
$course_description = $post_course->description;
// Output the course description
echo $course_description
?>

私の仮定が間違っているならば、それから私にコメントで知らせてください、そして私は答えを更新します。

編集

他の仮定は大丈夫ですが、私は「機関の説明」を示したいと思います。各ポストに割り当てられるコースは1つだけですが、各研究所には複数のコースがあります。研究所は分類学であり、研究所の名前はカテゴリーとして使用されます。

私があなたをフォローしているかどうか、まだ完全にはわかりません。 institutecourseは階層的分類法だと言っていますか?もしそうなら、私の元々の仮定は正しくありません。 あなたのスキーマをもっと明確に説明できますか。

EDIT 2

この場合、オークランド大学の説明を表示したいと思います。この大学はまた他の多くの記事で使用されていますが。私の場合、各コースは投稿です。

さて、今、私たちはどこかに着いています! courseカスタム投稿タイプであり、instituteはそのCPTのカスタム分類法です。これが正しければ、私の上記のコードは与えられた記事の用語説明を表示するべきです。

1
Chip Bennett

これが、カスタム分類法内の各用語(サービスタイプと呼ばれる)を説明付きで表示し、その下にすべてのカスタム投稿タイプ(サービス)を表示するために最近使用したコードです。

Service_typeに説明がない場合はdivを作成しないようにifステートメントを追加しました(したがって、大きな空白スペースはありません)。あなたはあなたの特定のカスタム分類法を示すためにそれを修正することができます。これで少なくとも始められます。分類法の範囲内で特定の用語を表示するためのページを他にもいくつか作成しました。詳細が必要な場合は、説明を書いてください。

<?php

//get all service_types (custom taxonomy) then display all posts in each term

$taxonomy = 'service_types';



$term_args=array(

    'orderby' => 'menu_order',

    'order' => 'DESC'

);

$terms = get_terms($taxonomy,$term_args);



if ($terms) {

   foreach( $terms as $term ) {



    $args=array(

      'post_type' => 'services',

      'service_types' =>  $term->name ,

      'post_status' => 'publish',

      'posts_per_page' => 50,

      'caller_get_posts'=> 1

      );

    $my_query = null;

    $my_query = new WP_Query($args); 

    if( $my_query->have_posts() ) {  ?>





    <div class="services">  <!--begin this type of service -->  

       <div class="description">

        <h4><?php echo $term->name;?></h4>



        <?php

            $termDiscription = $term->description;

                if($termDiscription != '') : ?>

                    <p><?php echo $termDiscription; ?></p>

                <?php endif; ?>

        </div>  <!--.description -->



        <?php

      while ($my_query->have_posts()) : $my_query->the_post(); ?>



<!--begin this service -->

                  <div class="cpt service"> 

                  <h5><?php the_title(); ?></h5><!--title -->

                    <!--thumbnail -->

                    <span class="sthumb">   

                        <a href="<?php the_permalink() ?>" title="<?php echo $term->name;?>"><?php the_post_thumbnail(); ?></a>

                    </span>

                    <!--#thumb -->



                    <?php the_excerpt(); ?>



                  </div><!--#cpt -->



       <?php endwhile; ?>
0
endle.winters