サポート » 使い方全般 » カテゴリ毎に表示する方法

  • 解決済 mitake

    (@mitake)


    行き詰ってしまいましたので、ご教授願います。

    トップページにサムネイル付きの新着情報を表示させたいので、

    「Thumbnail For Excerpts」という、プラグインを有効化し、
    以下のように記述しているのですが、特定のカテゴリのみの新着情報を
    表示させるやり方が、色々検索して試行錯誤しましたがどうにも
    わかりません。

    また、タイトルや日付の表示方法もどなたか
    教えて頂けませんでしょうか。
    宜しくお願い致します。

    <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <div class=”content”>
    <?php if (function_exists(‘inkthemes_breadcrumbs’)) inkthemes_breadcrumbs(); ?>
    <?php the_excerpt(); ?>
    <div class=”clear”></div>
    <?php wp_link_pages(array(‘before’ => ‘<div class=”page-link”><span>’ . ‘Pages:’ . ‘</span>’, ‘after’ => ‘</div>’)); ?>
    </div>

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    これの前に
    <?php query_posts( 'category_name=特定のカテゴリースラッグ' ); ?>
    これを追加してみてはどうですか?

    タイトルは、<?php the_title(); ?>をループ内に入れれば表示されます。
    日付は<?php the_time('Y年n月j日'); ?>などで表示できます。

    これらのテンプレートタグはCodexで機能や使い方を調べることができます。

    モデレーター gatespace

    (@gatespace)

    こんにちは。
    トップページで表示させたい情報が特定カテゴリのみなのでしょうか?

    gabgabさんのquery_postsでも可能ですが、
    pre_get_postsというアクションフックを用いることで、
    メインクエリ(この場合はトップページは特定カテゴリのみにする)の改変が可能です。

    これはテンプレートファイルにアクセスする前にクエリを改変しますので、
    二重にクエリの呼び出しを行わなくて済むというメリットがあります。

    Codex:is_main_query

    こちらのブログでは3.2以前でも対応可能なコードが紹介されています。
    3.3の新しい関数 is_main_query を使おう

    テーマのfunctions.phpにこちらのコードを書いてみてください。

    function front_page_articles( $wp_query ) {
        if (!is_admin()) { //管理画面以外で
            if ( $wp_query->is_main_query() && $wp_query->is_front_page() ) { // メインのクエリーでフロントページの時
                $wp_query->set( 'category_name', 'aciform' ); // カテゴリーのスラッグがaciform
            }
        }
    }
    add_action( 'pre_get_posts', 'front_page_articles' );

    これでまず、特定カテゴリーのみトップページに表示させる事が可能です。

    ここまでできたら、
    トップページのテンプレート内のループ部分で各タイトルや投稿日などを記述してください。
    一般的なループとは以下のように記述されています。

    <?php
    if ( have_posts() ) : // 投稿があるとき
    	while ( have_posts() ) : // ループスタート
    		the_post(); // the_contentなどを使えるようにする
    	endwhile; //ループここまで
    else :  //投稿がないとき
    endif;
    ?>

    タイトルや投稿日などはgabgabさんのコメント通りですが、
    デフォルトテーマのTwenty Elevenのコードも参考にしてみてください。

    トピック投稿者 mitake

    (@mitake)

    お二人共、親切に教えてくださりありがとうございました!

    無事に出来ました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カテゴリ毎に表示する方法」には新たに返信することはできません。