[サイト作り] [WordPress] カテゴリーアーカイブページテンプレート

カテゴリーアーカイブのページテンプレート。

各カテゴリーの新着記事を表示したアーカイブページが作れます

参考WordPress How To: Latest Posts by Category Archive

テーマディレクトリに category-archive.php を、作成して次のコードを記述しアップロード。
※使用中のテーマに合わせて変更して下さい。

<?php
/*
Template Name: Category Archive
*/
?>

<?php get_header(); ?>

<div id="content" class="narrowcolumn">

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
<div class="entry">
<?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>

<?php wp_link_pages(array('before' => '<p>Pages: ', 'after' => '</p>', 'next_or_number' => 'number')); ?>

</div>
</div>
<?php endwhile; endif; ?>


<ul class="catArchive">
<?php
$catQuery = $wpdb->get_results("SELECT * FROM $wpdb->terms AS wterms INNER JOIN $wpdb->term_taxonomy AS wtaxonomy ON ( wterms.term_id = wtaxonomy.term_id ) WHERE wtaxonomy.taxonomy = 'category' AND wtaxonomy.parent = 0 AND wtaxonomy.count > 0");

$catCounter = 0;

foreach ($catQuery as $category) {

$catCounter++;

$catStyle = '';
if (is_int($catCounter / 2)) $catStyle = ' class="catAlt"';

$catLink = get_category_link($category->term_id);

echo '<li'.$catStyle.'><h3><あ href="'.$catLink.'" title="'.$category->name.'">'.$category->name.'</あ></h3>';
echo '<ul>';

query_posts('cat='.$category->term_id.'&showposts=5');?>

<?php while (have_posts()) : the_post(); ?>
<li><あ href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></あ></li>
<?php endwhile; ?>

<li><あ href="<?php echo $catLink; ?>" title="<?php echo $category->name; ?>">More <?php echo $category->name; ?></あ></li>
</ul>
</li>
<?php } ?>
</ul>

</div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

表示させたくないカテゴリーがある場合は次の部分に次のコードを加える

AND wterms.term_id NOT IN (2,5,6)");

こんな感じ

修正前
$catQuery = $wpdb->get_results("SELECT * FROM $wpdb->terms AS wterms INNER JOIN $wpdb->term_taxonomy AS wtaxonomy ON ( wterms.term_id = wtaxonomy.term_id ) WHERE wtaxonomy.taxonomy = 'category' AND wtaxonomy.parent = 0 AND wtaxonomy.count > 0");

修正後
$catQuery = $wpdb->get_results("SELECT * FROM $wpdb->terms AS wterms INNER JOIN $wpdb->term_taxonomy AS wtaxonomy ON ( wterms.term_id = wtaxonomy.term_id ) WHERE wtaxonomy.taxonomy = 'category' AND wtaxonomy.parent = 0 AND wtaxonomy.count > 0 AND wterms.term_id NOT IN (2,5,6)");

カテゴリー2、5、6が除外される。

逆に、指定したカテゴリーだけ表示する場合は次の場所を変更する

wterms.term_id NOT IN (2,5,6)");

wterms.term_id IN (2,5,6)");

カテゴリー2,5,6だけ表示される。

記事リストの表示数の変更は showposts=5 の箇所を変更。
デフォルトは5

次にスタイルシートに次を追加。
※使用中のテーマにあわせて変更

.catArchive {
width: 450px;
overflow: hidden;
margin: 20px 0 0 0;
padding: 0;
list-style-type: none;
}

.catArchive h3 {
font: normal bold 18px sans-serif;
border-bottom: 1px solid #666;
margin: 0;
padding: 0 0 3px 0;
display: block;
}

.catArchive li {
display: block;
float: left;
width: 210px;
margin: 0 30px 30px 0;
}

.catArchive ul {
margin: 0;
padding: 0;
}

.catArchive li li {
border-bottom: 1px solid #ddd;
margin: 0;
padding: 4px 0;
}

.catAlt {
margin-right: 0 !important;
}

管理画面から、カテゴリーアーカイブ用の新規ページを作成し、その際に Category Archive の、テンプレートを使用する。

Did you like this? Share it:

PR

『行列のできる超人気洋菓子店のチョコ練り込み本格ケーキチョコ通もびっくり!チョコレートをた...』を見る [楽天]http://a.r10.to/hCFMgZ <

関連してるかも

  • 2009年12月6日 -- [WordPress] カテゴリーページにパンくずとサブカテゴリーリストと並び替えを
    カテゴリーページにパンくずとサブカテゴリーリストと並び替えを付けるハック こんな感じ articlesss.com category.phpを開き、div id=contentの下にでも ...
  • 2010年7月18日 -- [WordPress] カテゴリーページの備忘録
    カテゴリーページのループ外にカテゴリー名と、カテゴリー説明と画像を表示する備忘録 カテゴリー説明のタグは WP 3x のデフォルトテーマ2010に使われてるタグです。 使用テーマの画像フォルダ内に、各カテゴリーの画像を用意する。 "wp-content/themes/xxxx/images/cat/カテゴリーID.gif" category.php の if (have_p...
  • 2010年7月15日 -- [WPプラグイン] Sidebar Photoblog: Photoblog – サイドバーに特定カテゴリーのフォトを一覧表示
    サイドバーに指定したカテゴリー内のフォトをサムネイル表示するプラグイン 「Sidebar Photoblog: Photoblog」 フォトを多く含んだカテゴリーや、フォト日記のカテゴリーがある場合に、サイドバーにサムネイル表示させれれば見栄えもいいかもです。 ※、指定できるカテゴリーはひとつだけ 1、プラグインを有効化 2、管理メニュー「外観」からウィジェットを開き、"Si...
  • 2010年7月11日 -- [WPプラグイン] Front Page Categories – トップページに特定カテゴリーの記事だけ表示
    特定のカテゴリーの記事だけをトップページに表示するプラグイン。 「Front Page Categories」 ハックでも出来るんですが、プラグインで簡単に済ませたい時に便利 1、プラグインの有効化 2、管理メニュー「設定」から"Front Page Categories"を開く。 3、表示させたいカテゴリーにチェックを入れて変更を保存 ...
  • 2010年6月29日 -- [WordPress] カスタムポストを設置する
    投稿とは違った投稿を作成する。 作成したページテンプレートで公開したページ上に表示されますので、ブログに乗せるまでもない投稿(更新履歴)や、別テーマの投稿などを 参考 How to create a side blog with WordPress 3.0 テスト WP 3.0 1、functions.phpに次のコードを追加 2、次のコードで、ペー...
  • 2010年6月28日 -- [WordPress] Facebookのリンクを
    Facebookに投稿を送るボタンを追加するプラグイン「Add Post To Facebook」と同じ事を手動で 単一ページなどのボタンを表示させたい場所に テキストリンク ...
  • 2010年4月10日 -- [WP プラグイン] Add User Profile – ユーザープロフィールの項目を追加
    プロフィールの連絡先情報に、RSS, Twitter, Facebook, MySpace, mixi, Skypeを追加するプラグインです。 「Add User Profile」 テストWP3.x ポストに自動で投稿者情報を表示させるプラグインではなく、プロフィール項目を手動で追加したり 追加された項目をシングルページに手動で呼び出させたり 管理者の好みに合わせたいので...
  • 2010年3月22日 -- [WordPress] author.phpに投稿者に応じて。 備忘録
    author.phpで、ユーザーに応じて表示を変更 author.phpの項目を表示させたいとこに ユーザーネーム"john"のauthorページにだけ表示 ユーザーネーム"bob"のauthorページにだけ表示 サイドバーを、投稿者別に single.phpの get_sidebar() のとこを ...
  • 2010年2月6日 -- [WordPress] 外部サイトの新着情報を表示させる
    他のサイトのフィードを登録して、登録したサイトの新着記事タイトル一覧を表示 複数ブログをやってる人は、メインブログのサイドバーにでも他のブログの新着情報を表示させるのもいいかも 参考: WordPress MUのトップページに、RSSフィードを取得して各ブログの新着記事を日付順にソートして表示する 関連記事 外部サイトのRSSフィードを取得して表示させてみる。 ※、IE6などの旧世代ブラウ...
  • 2009年12月1日 -- [WordPress] id や class にカテゴリースラッグ
    body や div の id や class にカテゴリースラッグを付ける bodyに付ける ...