サポート » 使い方全般 » the_category で 投稿記事の属するカテゴリを表示する際に特定のカテゴリぞ

  • 投稿記事の属するカテゴリを表示する際に、特定のカテゴリを表示したくない場合、どのようにしたらよいでしょうか?いろいろなところに記述がありましたが、自分の記述のどこにいれたらよいかなどがわからず、こちらで質問させていただきました。

    例えば、投稿記事 商品A の属するカテゴリは、A B C Z ですが、そのうち、Zは表示したくありません。
    ————————-
    商品A

    カテゴリ A,B,C
    ————————-
    としたいです。

    現在、下記のようになっております。

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <div>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    <p>カテゴリ <?php the_category(' '); ?></p>
    </div>

    どうぞよろしくお願いします。

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

    (@hideokamoto)

    WP_Queryを使えばできます。
    関数リファレンス/WP Query – WordPress Codex 日本語版
    WP_Queryの使い方をPHPコードにまとめた便利なコード・スニペット

    使えると便利なので、この期に覚えてみるといいかもしれません。

    the_category() の前後に次のようなコードを入れると、あらかじめ選んだスラッグのカテゴリーを非表示にできます。
    元のコード:

    the_category( ' ' );

    入れた後のコード:

    if ( ! function_exists( 'my_exclude_category' ) ) {
    	function my_exclude_category( $cats ) {
    		$exc_slug = array( 'cat1' );	// 除外したいカテゴリーのスラッグ
    		$new_cats = array();
    		foreach ( $cats as $c1 ) {
    			if ( ! in_array( $c1->slug, $exc_slug ) )
    				$new_cats[] = $c1;
    		}
    		return $new_cats;
    	}
    }
    add_filter( 'the_category_list', 'my_exclude_category' );
    the_category( ' ' );
    remove_filter( 'the_category_list', 'my_exclude_category' );

    トピック投稿者 mint-chan

    (@mint-chan)

    ありがとうございました。
    まだ十分に理解していませんが、やってみます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「the_category で 投稿記事の属するカテゴリを表示する際に特定のカテゴリぞ」には新たに返信することはできません。