サポート » 使い方全般 » カテゴリ別indexページと記事表示を併用したい

  • 解決済 shin-1

    (@shin-1)


    こちらの記事を参考にカテゴリ別にタイトルリストを一覧表示させたのですが、全てのカテゴリに反映されてしまいます。カテゴリによっては(記事が少なく、今後も増やすことはないので)普通に全記事を表示させたいと思っています。併用の仕方を教えていただければ幸いです。
    なお、現在自宅サーバでMTから乗り換えてwordpressの試験運用をしていますが、動作が軽いので快適です。http://cyclist.homeip.net/

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター jim912

    (@jim912)

    shin@さん、こんにちは。

    特定のカテゴリかどうかは、is_categoryで判別が可能です。

    具体的には、カテゴリIDが2,4,5のカテゴリのみ全文表示を行いたい場合は下記の様になります。(カテゴリIDではなく、カテゴリ名、カテゴリスラッグでの指定も可能です。)

    <?php if ( is_category( 2, 4, 5 ) ) : ?>
    全文表示を行うコード
    <?php else : ?>
    タイトルのみ表示を行うコード
    <?php endif; ?>

    それから、参考にされた記事ですが、元の元記事の作成年が2005年と少々古い内容となっており、現状あまり使われていない表現となっていることと、ulタグの記述箇所が適切ではありません。

    カテゴリIDが2,4,5の場合、デフォルトテーマ同等の表示、それ以外は、リスト形式での出力を行うコードを例示しておきますので、参考としてみてください。

    <?php get_header(); ?>
    <div id="content">
    	<h2 class="pagetitle"><?php single_cat_title(); ?></h2>
    
    <?php if ( have_posts() ) : ?>
    <?php if ( is_category( 2, 4, 5 ) ) : ?>
    <?php while (have_posts()) : the_post(); ?>
    		<div <?php post_class(); ?>>
    			<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
    				<small><?php the_time(); ?></small>
    				<div class="entry">
    					<?php the_content(); ?>
    				</div>
    				<p class="postmetadata"><?php the_tags( 'タグ:', ', ', '' ); ?> カテゴリー:<?php get_the_category_list( ', ' ); ?> | <?php edit_post_link( '記事を編集', '', ' | ' ); ?>  <?php comments_popup_link( 'コメントはまだありません。', '1 件のコメントがあります。', '% 件のコメントがあります。', '', 'コメントは許可されていません。' ); ?>
    
    		</div>
    <?php endwhile; ?>
    <?php else : ?>
    		<ul> <?php while (have_posts()) : the_post(); ?>
    			<li id="catpost-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a><?php the_date(''); ?> at <?php the_time() ?></li>
    <?php endwhile; ?>
    		</ul>
    <?php endif; ?>
    <?php else : ?>
    該当する記事が存在しません。
    
    <?php endif; ?>
    </div>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    トピック投稿者 shin-1

    (@shin-1)

    jim912さん、早速お教えいただきありがとうございます。
    出力コードまで書いていただき申しわけありません。

    前文表示させたいカテゴリはid=7ですので、書いていただいたコードをコピーし「is_category( 2, 4, 5 )」を「is_category( 7 )」に書き換えて、そのままcategory.phpとしましたところ、動作に変わりがないようなのです。
    コピペに何か問題あるのでしょうか。テキストエディタはTerapadを使っています。

    トピック投稿者 shin-1

    (@shin-1)

    jim912さん、成功しました!!!
    category.phpに昔のコードが残っていて、それを消すのを忘れていたようです。
    申し訳ありません。

    重ねてどうもありがとうございます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カテゴリ別indexページと記事表示を併用したい」には新たに返信することはできません。