Category
Archives
Cocotiie
Trial And Error!やってみよう!の精神でWeb制作をしています。初心者の方にも伝わるよう、心がけています。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。

2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)として運営開始。
このサイトは快適なテーマ「SWELL」を使用していますSWELLについて

[WordPress] カスタム投稿 特定のカテゴリー(ターム)の表示

カスタム投稿 ターム

WordPressには、カスタム投稿  という便利な機能があります。タクソノミー(親カテゴリーみたいな感じ)とターム(子カテゴリー的な)を作る事も出来ます。

Topには表示したいけれど、一覧には載せたく無いタームがある場合も。今回は、それを制御しようと思います。本当は、もっとスマートに非表示にしたいタームだけを何とかしたかったのですが、分からなかったので(笑)

INDEX

アーカイブを作る

カスタム投稿の一覧(アーカイブ)を作るにはarchive.phpをコピーして、archive-投稿タイプ名.phpとするだけです。

どこに書くか

ループが始まる所 <?php if ( have_posts() ) : ?> を探して下さい。
その上に書きます。

特定のカテゴリー(ターム)の表示

例えば、schoolというカスタム投稿を作り、cityという親カテゴリーがあり、都市名をいろいろ作ったけれど、表示したいのは、3都市のみ。

<?php
$args=array(
	    'tax_query' => array( 
	array(
	    'taxonomy' => 'city', //タクソノミーを指定
		'field' => 'slug', 
		'terms' => array( 'tokyo','hiroshima','fukuoka' ) //表示したいタームのスラッグ名
			),
		),
		'post_type' => 'school', //カスタム投稿名
		'posts_per_page'=> -1 //表示件数(-1で全ての記事を表示する。又は表示したい数字)
	);
 ?>
<?php query_posts( $args ); ?>

Slugはカテゴリーのページで確認して下さい。

カスタム投稿 slug

忘れないで!!大切な事

query_postsを使う時は、必ず最後に<?php endif; ?>の上に下記のコードで閉める事。これを書いていなくて、ハマってしまいました。

<?php wp_reset_query(); ?>

2021/06現在、Understrapの場合は<?php endif; ?> 無いなぁ~良いのかな?一応足してみました。

よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント ※ハンドルネームでお願いします

コメントする

INDEX