is_object_in_taxonomy() - オブジェクトがタクソノミーを利用できるか否かを確認する
公開日:
is_object_in_taxonomy()
は、指定したオブジェクトが、指定したタクソノミーを利用できるか否かを確認する関数です。例えば、投稿オブジェクト(post
)は、カテゴリータクソノミー(category
)やタグタクソノミー(post_tag
)を利用できます。一方、固定ページオブジェクト(page
)は上記のタクソノミーを利用できません。
構文
bool is_object_in_taxonomy( string $object_type, string $taxonomy )
パラメータ
$object_type
オブジェクトの名称。投稿ならpost
、固定ページならpage
など。
$taxonomy
タクソノミーの名称。カテゴリならcategory
、タグならpost_tag
など。
返り値
bool
指定したオブジェクトで、指定したタクソノミーを利用できる場合はtrue
、利用できない場合はfalse
が返る。
関数
この関数内で利用している、別のWordPress関数です。
- get_object_taxonomies() - 指定したオブジェクトで利用できるタクソノミーを取得する。
サンプルコード
記事でカテゴリを利用できるか?
通常の記事である投稿オブジェクト(post
)でカテゴリが利用できるかを確認します。デフォルトでは、記事はカテゴリー(category
)、タグ(post_tag
)といったタクソノミーを利用して分類できるので、true
が返るはずです。
php
<?php
// 実行
$result = is_object_in_taxonomy( "post", "category" ) ;
// 結果
var_dump( $result ) ;
結果 (出力内容) - PHP7.0.13
bool(true)
固定ページでカテゴリを利用できるか?
デフォルトでは、固定ページオブジェクト(page
)は、カテゴリー(category
)やタグ(post_tag
)を使って分類できません。つまり利用できないため、false
が返るはずです。
php
<?php
// 実行
$result = is_object_in_taxonomy( "page", "category" ) ;
// 結果
var_dump( $result ) ;
結果 (出力内容) - PHP7.0.13
bool(false)
ソースコード
wp-includes/taxonomy.php
/**
* Determine if the given object type is associated with the given taxonomy.
*
* @since 3.0.0
*
* @param string $object_type Object type string.
* @param string $taxonomy Single taxonomy name.
* @return bool True if object is associated with the taxonomy, otherwise false.
*/
function is_object_in_taxonomy( $object_type, $taxonomy ) {
$taxonomies = get_object_taxonomies( $object_type );
if ( empty( $taxonomies ) ) {
return false;
}
return in_array( $taxonomy, $taxonomies );
}
参考リンク
- WordPress 関数リファレンス - 公式マニュアル。