2018年1月18日
  • 自社保有メディアのサイト運営によるインターネット広告事業・WordPressによるサイト制作事業・コワーキングスペース・シェアオフィス・貸会議室の運営事業を行っています。

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」

こんにちは。株式会社コミュニティコム代表取締役の星野邦敏です。

WordPressでは、バージョン3系以降、「カスタム投稿タイプ」という「投稿」や「固定ページ」とは異なる投稿箇所を、functions.phpに記載することで増やすことが可能になりました。

また、「カスタムタクソノミー(カスタム分類)」という「カテゴリー」や「タグ」とは異なる分類方法も、functions.phpに記載することで増やすことが可能になりました。

さて、その時に、例えば、カスタム投稿タイプで作られた記事ページ内で、特定のカスタムタクソノミー(カスタム分類)にチェックが入っている時だけ表示したい文章や画像がある場合もあると思います。

通常、投稿記事内で、特定のカテゴリーにチェックが入っている時だけ表示する場合には、
in_category
という条件分岐タグを使います。
テンプレートタグ/in category – WordPress Codex 日本語版

具体的には、WordPressテーマのsingle.phpなどに

<?php if ( in_category(3) ): ?>
ここにカテゴリー特有のPHP/HTMLを書く
<?php endif; ?>

と書くと思います。

これと同じように、カスタム投稿タイプで作られた記事ページ内で、特定のカスタムタクソノミー(カスタム分類)にチェックが入っている時だけ表示したい文章や画像がある場合には、is_object_in_termという条件分岐タグを使って、分岐します。

is_object_in_termで検索しても、あまり日本語の情報が出てこないですし、現状、Codexも英語版しか記載が無いように思います。
Function Reference/is object in term « WordPress Codex

is_object_in_term( $post_id, $taxonomy, $terms )
引数1、$post_id:投稿ID
引数2、$taxonomy:タクソノミー名
引数3、$term:タームID、名前、スラッグもしくはArray

具体的には、

<?php if ( is_object_in_term($post->ID, 'food','pan') ): ?>
ここにタクソノミー特有のPHP/HTMLを書く
<?php endif; ?>

というように書くとカスタム投稿タイプ内で条件分岐ができます。

上記の例ですと、foodというタクソノミー名で、panというスラッグ名を用意している場合にのみ、特定のPHPやHTMLが表示されるよう、条件分岐されます。

カスタム投稿タイプやカスタムタクソノミーが作れることで、管理画面上で、投稿箇所を柔軟に分けることができました。
それによって、運用面のアイデアは増えましたが、一方で、運用ルールのようなものが必要だったり、WordPressテーマ内での記載も多様化されたかもしれないですね。

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐として、is_object_in_termという条件分岐タグがあることも、カスタム投稿タイプやカスタムタクソノミー(カスタム分類)を使う際には思い出すと良いかもしれません。

なお、上記のis_object_in_termについては、自分が数ヶ月に一度、講師をしているallWebクリエイター塾さんにいらっしゃっていた長橋さんという受講者の方からの質問で気付きを得ました。

ありがとうございます!

コメント一覧

khoshino2012年5月27日 3:37 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/kwAevqJQ

infoeproduction2012年5月27日 4:00 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/kwAevqJQ

horike372012年5月27日 4:31 PM /

ブログの更新を確認しました RT @khoshino WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/sev8Iph2

khoshino2012年5月27日 4:34 PM /

確認されたことを確認しました。 RT @horike37 ブログの更新を確認しました RT WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/kwAevqJQ

【WordPress】カスタム分類の条件分岐方法 | おれの踏み外し気味のあれ2012年6月19日 3:21 PM /

[...] 条件分岐タグ「Is_object_in_term」 http://www.communitycom.jp/2012/05/27/is_object_in_term/ [...]

Takako Ohira2012年7月6日 3:00 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://www.communitycom.jp/2012...

takako2012年7月6日 3:00 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/3oGP49BG

infoeproduction2012年7月6日 3:01 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/3oGP49BG

ikaringkan2012年7月6日 3:10 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/3oGP49BG

kei_web2012年7月11日 5:34 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/DiXcrmpC ←やった、これでできるかも。あとで試す。 (。´Д⊂)

natsuki_w2012年9月2日 10:51 AM /

“WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム” http://t.co/HuLO91v5

infoeproduction2012年9月2日 11:00 AM /

“WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム” http://t.co/HuLO91v5

Ryo Nakae2013年4月14日 8:32 PM /

あー助かりました。 / WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/INBfyN1tdC

イープ2013年4月14日 9:00 PM /

RT @ryo_dg: あー助かりました。 / WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/INBfyN1tdC

久米さん@がんばらない2013年4月14日 9:37 PM /

RT @ryo_dg: あー助かりました。 / WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 | 株式会社コミュニティコム http://t.co/INBfyN1tdC

くまま2013年4月14日 10:49 PM /

WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 http://t.co/yulGCwtWR1

イープ2013年4月14日 11:00 PM /

RT @mirach777: WordPressでのカスタム投稿タイプ利用時のタクソノミー条件分岐タグ「is_object_in_term」 http://t.co/yulGCwtWR1

ku_marin2013年4月15日 10:48 AM /

カスタムタクソノミーの条件分岐

takahashitakashi2013年12月31日 11:53 PM /

カスタム分類の条件分岐の関数

norip442014年1月12日 1:19 AM /

タクソノミーさんとようやく仲良くなってきました。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA