概要
OLBsystem には、簡易的な「日別スケジュール一覧(講師一覧)」があり、固定ページにショートコードを挿入すれば表示させることができます。
ただ、その一覧は表示形式が固定されているので、他の情報も載せたい場合には、「講師」カテゴリーのアーカイブページを利用して、独自に講師一覧ページを作ることもできます。
スクリーンショット
手順
[改訂: 2013-10-15] WordPressテーマ「Twenty Thirteen」版に改めました。
ここではWordPressテーマ「Twenty Twelve」「Twenty Thirteen」の「category.php」をベースとして、新たに「講師」カテゴリーアーカイブテンプレートを作成します。
各講師の紹介記事が「講師」カテゴリ(スラッグ名:teacher)に投稿されているという前提で、「講師」カテゴリーアーカイブテンプレートは「category-teacher.php」となります。
以下、「category-teacher.php」のサンプルです。
各記事で「アイキャッチ画像」に講師近影を指定しているという前提です。
/*
* 「講師(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 );
}
}
}
<?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(); ?>




Comments are closed.