web-dev-qa-db-ja.com

最初の投稿用語を入手

カスタム投稿タイプの最初の用語のみを取得する方法.
私はすべて手に入れることができます - 問題ありません。これは私が彼ら全員をつかむために使っているものです

<?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>

私のコードを使って答えをいただければ幸いですが、どんな助けでも大歓迎です

9
Sagive SEO

「最初の」分類法が何を意味するのかわかりませんが…、

$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 を参照)

22
Stephen Harris

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オブジェクトを得るので、これはその欠点を持っています。また、返された配列が空の場合、未定義の配列キー警告も表示されますので、注意して使用してください。

4
Pieter Goosen

それは私のために働きました。最初のカテゴリだけがテキストとして表示され、アンカーは表示されません。

$terms = get_the_terms( $post->ID , 'your_custom_taxonomy' ); 
foreach( $terms as $term ) { 
    print $term->name;
    break;
    unset($term);
}
0
Pankaj

オブジェクトのキーに直接アクセスするのはどうですか。

$terms = get_the_terms( $post->ID, 'sitecat' );
$first_term = $terms[0];

だからあなたはオブジェクトにアクセスすることができます。

echo $first_term->name;
0
Lafif Astahdziq