私は自分のカスタムWP_Query
を書き、投稿コンテンツを表示するためにループを使いました。現在の投稿のカテゴリを表示するためにget_the_category()
を使用します、そしてそれはうまく働きます。現在、一部の投稿タイプでは、カテゴリではなくカスタム分類法があります。
カテゴリを取得するためのコード:
$categories = get_the_category();
if(!empty($categories)){
foreach($categories as $index => $cat){
echo $cat->name;
}
}
今、私はすべての分類法を引き出して、それらをコンマ区切りのフォーマットで印刷する必要があります。
私はこれを試しました:
$taxonomies = get_the_taxonomies();
if(!empty($taxonomies)){
foreach($taxonomies as $taxonomy){
echo $taxonomy;
}
}
「分類ラベル:用語(ハイパーリンク)」という形式で機能し、表示されます。用語が複数ある場合は、用語間に「and」を追加します。私は用語だけを必要とし、もしそれらが複数であればそれらはコンマで分離されるべきです。
私知りたい:
regex
を使って値を抽出できますか?ありがとう
あなたのコードに関する最初の問題は、 get_the_taxonomies
関数を使うことです、
名前だけで投稿のすべての分類法を取得します。
その結果は次のようになります。
Array
(
[0] => category
[1] => post_tag
[2] => post_format
)
そして、分類法の名前ではなく、すべての分類法から特定の投稿に割り当てられた用語を取得することをお勧めします。
だから、おそらくあなたはこのようなことをしたいのです。
$terms = wp_get_object_terms( get_the_ID(), array_keys( get_the_taxonomies() ) );
foreach ( $terms as $i => $term ) {
echo ($i ? ', ' : '') . $term->name;
}
そしてあなたの質問への素早い回答:
これらを見てください。
$taxonomies = get_post_taxonomies( );
print_r( $taxonomies );
echo implode( $taxonomies, ', ' );