サポート » 使い方全般 » 特定のカテゴリの投稿タイトル一覧のページをつくりたい

  • ある一つのカテゴリのページ内に、
    投稿した記事の一覧を作りたいです。

    例えば最新記事100個をタイトルだけ表示させるようなページを作るには、
    どのようなソースになるのか教えていただけませんでしょうか。

    プラグインであるのでしょうか。

    よろしくお願い申し上げます。

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

    (@gatespace)

    こんにちは。

    例えば、他のカテゴリーアーカイブでは抜粋文を表示させているが、
    最新記事カテゴリーのアーカイブは各投稿タイトルのみ、などと言う状況で、
    特定のカテゴリーアーカイブにおいて、他と違う動作をさせたいのなら
    category-slug.php(カテゴリーのスラッグが “news” の場合は category-news.php)が適用されます。

    テンプレートがどの順番で適用されるかはCodexのテンプレート階層をご一読ください。

    デフォルトテーマの Twenty Eleven を基に説明すると、
    既にcategory.phpが存在するので、
    それを複製して、category-slug.phpにリネームします。

    Twenty Elevenの場合、その中の get_template_part( 'content', get_post_format() )となっている箇所が投稿を表示させている部分で、さらに content.php を読み込ませています。
    投稿のタイトルのみにするのであれば、content.phpを複製し、content-news.phpとでもして
    content-news.php を改変すれば良いと思います。

    他のやり方もありますが、この方法が取り組みやすいと思います。

    次に特定のカテゴリーアーカイブのみ表示件数を変える部分です。
    これについても複数のやり方があります。

    最近のおすすめはis_main_queryを利用した方法です。

    テーマのfunctions.phpに次のコードを挿入することで
    特定のカテゴリーアーカイブの表示件数を変える事ができます。

    function category_display_articles( $wp_query ) {
        if (!is_admin()) { //管理画面以外で
            // メインのクエリーを表示していて、かつカテゴリーIDが1の時
            // is_category('1') を is_category('news') とするとnewsというスラッグのカテゴリー
            if ( $wp_query->is_main_query() && $wp_query->is_category('1') ) {
                $wp_query->set( 'posts_per_page', 100 ); // 表示件数は100件
            }
        }
    }
    add_action( 'pre_get_posts', 'category_display_articles' );

    以前に解決したスレッドの
    wp-pagenaviを使用し、カテゴリごとに記事数を変更したい
    の一番下のコードも参考にしてみてください。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「特定のカテゴリの投稿タイトル一覧のページをつくりたい」には新たに返信することはできません。