カスタム投稿タイプの最初の用語のみを取得する方法.
私はすべて手に入れることができます - 問題ありません。これは私が彼ら全員をつかむために使っているものです
<?php foreach ($terms as $term) {echo '<a href="'.get_term_link($term->slug, 'sitecat').'">'.$term->name.'</a>,';} ?> >> <a href="<?php the_permalink(); ?>"><?php the_title('', ''); ?></a></h2></span>
私のコードを使って答えをいただければ幸いですが、どんな助けでも大歓迎です
「最初の」分類法が何を意味するのかわかりませんが…、
$terms = get_the_terms( $post->ID, 'mytaxonomy' );
分類用語オブジェクトの配列を返すので、
$term = array_pop($terms);
配列の最初の項を教えてください。その後:
echo '<a href="'.get_term_link($term->slug, 'mytaxonomy').'">'.$term->name.'</a>,'
(空の配列またはエラーが返された場合に備えて、if文をいくつか含めることができます( is_wp_error
を参照)
PHP 5.4以降では、直接 参照解除 配列を使用できます。そのため、最初の用語を取得するには、単に実行できます。
$first_term = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0];
var_dump( $first_term );
最初の用語の特定のプロパティ( 用語名 と言う)が必要な場合は、次のようにします。
$first_term_name = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0]->name;
var_dump( $first_term_name );
ちょっと注意してください、分類が無効であるならあなたがWP_Error
オブジェクトを得るので、これはその欠点を持っています。また、返された配列が空の場合、未定義の配列キー警告も表示されますので、注意して使用してください。
それは私のために働きました。最初のカテゴリだけがテキストとして表示され、アンカーは表示されません。
$terms = get_the_terms( $post->ID , 'your_custom_taxonomy' );
foreach( $terms as $term ) {
print $term->name;
break;
unset($term);
}
オブジェクトのキーに直接アクセスするのはどうですか。
$terms = get_the_terms( $post->ID, 'sitecat' );
$first_term = $terms[0];
だからあなたはオブジェクトにアクセスすることができます。
echo $first_term->name;