この記事は 2013年10月 の投稿で、現在では状況が異なる可能性があります。
概要
OLBsystem には、簡易的な「日別スケジュール一覧(講師一覧)」があり、固定ページにショートコードを挿入すれば表示させることができます。
ただ、その一覧は表示形式が固定されているので、他の情報も載せたい場合には、「講師」カテゴリーのアーカイブページを利用して、独自に講師一覧ページを作ることもできます。
スクリーンショット
手順
[改訂: 2013-10-15] WordPressテーマ「Twenty Thirteen」版に改めました。ここではWordPressテーマ「Twenty Twelve」「Twenty Thirteen」の「category.php」をベースとして、新たに「講師」カテゴリーアーカイブテンプレートを作成します。
各講師の紹介記事が「講師」カテゴリ(スラッグ名:teacher)に投稿されているという前提で、「講師」カテゴリーアーカイブテンプレートは「category-teacher.php」となります。
以下、「category-teacher.php」のサンプルです。
各記事で「アイキャッチ画像」に講師近影を指定しているという前提です。
1 2 3 4 5 6 7 8 9 10 11 |
/* * 「講師(teacher)」カテゴリだけ1ページ当たりの記事数を3件にする */ add_action('pre_get_posts', 'categoryTeacherPerPage'); function categoryTeacherPerPage($wp_query){ if(!is_admin()) { if($wp_query->is_main_query() && $wp_query->is_category('teacher')){ $wp_query->set('posts_per_page', 3 ); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
<?php /* * 「講師(teacher)」カテゴリのテンプレート */ get_header(); ?> <div id="primary" class="content-area"> <div id="content" class="site-content" role="main"> <?php if ( have_posts() ) : ?> <header class="archive-header"> <h1 class="archive-title"><?php printf( __( 'Category Archives: %s', 'twentythirteen' ), single_cat_title( '', false ) ); ?></h1> <?php if ( category_description() ) : // Show an optional category description ?> <div class="archive-meta"><?php echo category_description(); ?></div> <?php endif; ?> </header><!-- .archive-header --> <article class="post type-post status-publish format-standard hentry"> <div class="entry-content"> <div id="list_pagenavi" class="list_pagenavi"> <div id="prev_page" class="prev_page"> </div> <div id="list_datenavi" class="list_datenavi"> <?php echo olbPaging::getPrevDateLink($olb->startdate, -1, '« 前日', $_SERVER['QUERY_STRING']); echo $olb->startdate; echo olbPaging::getNextDateLink($olb->startdate, 1, '翌日 »', $_SERVER['QUERY_STRING']); ?> </div> <div id="next_page" class="next_page"> </div> </div> <div style="margin:10px auto;"> <div style="width:100px; float:left;"> <div style="height:160px; border: 1px solid #ccc; border-width: 0 1px 1px 0"> </div> <?php $olb->dailyTime(); ?> </div> <?php while ( have_posts() ) : the_post(); ?> <div style="width:150px; float:left;"> <div style="height:160px; text-align:center; border: 1px solid #ccc; border-width: 1px 1px 0 0"> <a href="<?php the_permalink(); ?>" style="display:block; padding-top:5px"><?php the_post_thumbnail(array(100,100)); ?></a><br> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </div> <?php $teacher_id = olbFunction::getTeacherIdFromPost($post->post_content); $olb->dailyStatus($teacher_id, 'a'); ?> </div> <?php endwhile; ?> </div> </div><!-- .entry-content --> <footer class="entry-meta"> </footer><!-- .entry-meta --> </article><!-- #post --> <?php if ( $wp_query->max_num_pages >= 2 ) : ?> <nav class="navigation paging-navigation" role="navigation"> <h1 class="screen-reader-text"><?php echo '投稿ナビゲーション'; ?></h1> <div class="nav-links"> <?php if ( get_next_posts_link() ) : ?> <div class="nav-previous"><?php next_posts_link( '<span class="meta-nav">←</span> 次ページ' ); ?></div> <?php endif; ?> <?php if ( get_previous_posts_link() ) : ?> <div class="nav-next"><?php previous_posts_link( '前ページ <span class="meta-nav">→</span>' ); ?></div> <?php endif; ?> </div><!-- .nav-links --> </nav><!-- .navigation --> <?php endif; ?> <?php else : ?> <?php get_template_part( 'content', 'none' ); ?> <?php endif; ?> </div><!-- #content --> </div><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?> |
コメントは停止中です。