サポート » 使い方全般 » カスタム投稿の一覧ページで特定のカテゴリ名を非表示にしたい

  • 解決済 tamakana

    (@tamakana)


    お世話になります。

    カスタム投稿の一覧ページにおいて、記事が属するカテゴリを表示させる仕組みにしています。これを特定のカテゴリ名だけ非表示にしたいのですが、ご教示頂けないでしょうか。
    例)「おすすめ」カテゴリを表示しない設定で、「お知らせ」「おすすめ」に属している記事の場合の一覧での見え方↓
    ———————————–
    2017.08.14 【お知らせ】 記事タイトル記事タイトル記事タイトル
    ———————————–

    やり方としては下記のフォーラムを参考にし、exludeを使うのかと考えたのですが、自分のコードに置き換えることができず…
    カスタム投稿のカテゴリ一覧で特定のカテゴリ名を除外して表示したい

    恐れ入りますがご教示いただけると幸いです。
    なお、現在の一覧ページは下記のようなコードとなっています。

    <dl>
    <?php
    	if(have_posts()):
    		while(have_posts()):
    			the_post();
    			$terms = get_the_terms($post->ID,'news_category');
    			if(is_array($terms)){
    				foreach ($terms as $term){
    					$term_name = $term->name;
    				}
    			}
    ?>
    	<dt>
    		<time datetime="<?php the_time('Y-m-d'); ?>"><?php the_time('Y.m.d'); ?></time>
    		<p>
    			<span><?php echo $term_name; ?></span>
    		</p>
    	</dt>
    	<dd>
    	<?php if(get_field('news_link')): ?>
    		<a href="<?php echo esc_url(get_field('news_link')); ?>" target="_blank"><?php the_title(); ?></a>
    	<?php else: ?>
    		<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    	<?php endif; ?>
    	</dd>
    <?php endwhile; endif; ?>
    </dl>

    何卒よろしくお願いいたします。

    • このトピックは tamakanaが1 ヶ月、 1 週前に変更しました。
7件の返信を表示中 - 1 - 7件目 (全7件中)
  • これを特定のカテゴリ名だけ非表示にしたいのですが、ご教示頂けないでしょうか。
    例)「おすすめ」カテゴリを表示しない設定で、「お知らせ」「おすすめ」に属している記事の場合の一覧での見え方↓
    ———————————–
    2017.08.14 【お知らせ】 記事タイトル記事タイトル記事タイトル
    ———————————–

    いまいち意味がわかりません。

    >manbo様
    わかりにくい説明で申し訳ありません。

    「特定のカテゴリに属している記事を非表示」
    ではなく、
    「記事が属している特定のカテゴリ名だけ非表示」

    としたいのですが、伝わりますでしょうか。

    現状、そのコードで投稿が属するタームが全て表示されてますか?

    「お知らせ」「おすすめ」に属する投稿があって現状は「お知らせ」「おすすめ」が表示されているのを「お知らせ」だけにしたいという意味ではなく?
    両方属していてどちらかのタームが表示されるが「お知らせ」だけ表示して「おすすめ」の文字は表示しないという意味ですか?

    多分
    $terms = get_the_terms($post->ID,'news_category');
    ↑この部分を

    ↓このようにすれば良いと思いますが。

    $taxonomies = 'news_category';
    $args = array( 'exclude_tree' => array( '表示しないタームID' ) ); 
    $terms = get_terms( $taxonomies, $args );
    • この返信は1 ヶ月、 1 週前に  manbo さんが編集しました。

    >両方属していてどちらかのタームが表示されるが「お知らせ」だけ表示して「おすすめ」の文字は表示しないという意味ですか?

    ↑ありがとうございます、こちらの意味です!

    ご教示ありがとうございます。
    いただいた内容でやってみたところ、一覧の記事すべて同じカテゴリ名が表示されるようになってしまいました。
    そしてなぜか記事が属していないカテゴリ名が表示されています。
    「お知らせ」「おすすめ」のカテゴリに属しているのに、なせかもう一つの「日記」というカテゴリ名が表示されるような状態です。

    すいません、かなり酔ってて目茶苦茶なこと書いてますね…
    出直します。

    このページ等を参考にすればどうにかなりませんかね。
    https://gist.github.com/hndkn/6361528

    manbo様

    ありがとうございます!
    ただ今回はfunctions.phpへの記述ではなく、
    なるべく当初の書き方から変更せずできないかという思いがあり…
    なかなかうまくいかなかったので結局最終的に
    こちらの記述とまるまる同じ形にして対応いたしました。

    いただいたアドバイスは次回なんらかの機会で試してみたいと思います。
    ありがとうございました!

    • この返信は1 ヶ月、 1 週前に  tamakana さんが編集しました。
7件の返信を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。