FAQ用テンプレート
2007.10.04
WordPressはページと記事を組み合わせて色々な事ができますが、FAQ(よくある質問とその答え)ページのように最初に質問の一覧があって、リンクをクリックするとその答えの文章に移動するような事を一ページ分でしたい時に、下記のような手順で簡単にできます。
- FAQページ用のテンプレートを作成します。
- FAQページを作成し、テンプレートを指定します。
- FAQ用のカテゴリを作成します。
- 記事を作成し、タイトルに質問部分、文章に答えを書き、カテゴリ指定のときに3.で作成したカテゴリを指定して投稿します。
テンプレートは使用テーマセットの中のpage.phpをコピーし、最初の部分に
<?php
$category_id = 8; // カテゴリID
$faq_ids = array(); // id
$faq_titles[] = array(); // title
$faq_contents[] = array(); // content
$faq_permalinks[] = array(); // link
$index = 0;
?>
<?php query_posts("cat=$category_id&order=asc"); ?>
<?php while (have_posts()) : the_post(); ?>
<?php
if ($post->ID > 0) {
$faq_ids[$index] = $post->ID;
$faq_titles[$index] = get_the_title();
$faq_contents[$index] = get_the_content();
$index++;
} ?>
<?php endwhile; ?>
<h3 id="faq" name="faq">よくある御質問</h3>
<ul>
<?php $size = count($faq_ids); ?>
<?php for ($i = 0 ; $i < $size; $i++ ) { ?>
<li><a href="#<?php echo $faq_ids[$i]; ?>">
<?php echo $faq_titles[$i]; ?></a></li>
<?php } ?>
</u>
<h3>回答</h3>
<?php for ($i = 0 ; $i < $size; $i++ ) { ?>
<h4 id="<?php echo $faq_ids[$i]; ?>">
<?php echo $faq_titles[$i]; ?>
</h4>
<blockquote>
<?php echo $faq_contents[$i]; ?>
</blockquote>
<?php } ?>
