<?php echo get_the_term_list( $post->ID, 'people', 'People: ', ' ', '' ); ?>
このようなものを返します:
People: <a href="person1">Person1</a>, <a href="person2">Person2</a>, ...
どのように私はそれがこのようなリンクなしで同じものを返すようにすることができます:
People: Person1, Person2
リストを手動で書く方が簡単かもしれません。
<?php
$terms = wp_get_post_tags( $post->ID );
//For custom taxonomy use this line below
//$terms = wp_get_object_terms( $post->ID, 'people' );
foreach( $terms as $term )
$term_names[] = $term->name;
echo implode( ', ', $term_names );
代わりにあなたも使うことができます
<?php
echo strip_tags (
get_the_term_list( get_the_ID(), 'tax_name', "Text Before Value ",", " )
);
?>
Strip_tags()を使用するあなたがあなたの用語をHTMLリストとして表示したい場合、複雑になることがあります。ここに、あなたのために何かがあります。 $ rawをtrue(または空ではないもの)に設定すると、選択した$区切り文字付きのインラインリストが作成されます。そうでない場合は、リンクなしのHTMLリストが生成されます。あなたのリストにスタイル付きのタイトルを付けたい場合は、$ titleタグをH1またはH2に設定します。タイトルが欲しくない場合は、$ titleを空のままにしてください。
function show_tax($taxname, $title, $title_tag, $raw, $separator){
$terms = get_the_terms($post->ID, $taxname);
$out = '';
if (!empty($title)){
if(empty($title_tag)){
$title_tag = 'span';
}
$out .= '<'.$title_tag.'>'.$title.'</'.$title_tag.'>';
}
if (!empty($raw)){
$out = implode($separator, $terms);
}
else{
$out .= '<ul>';
foreach ( $terms as $term ){
$out .='<li>'.$term->name.'</li> ';
}
$out .= '</ul>';
}
return $out;
}
使用例
echo show_tax('people', 'PEOPLE', 'h3', '', ''); // An html list with PEOPLE as title
echo show_tax('people', 'PEOPLE:', '', true, ','); // An inline list with PEOPLE: as before text
私はもっと直接的に私の質問に答える別の方法を見つけました:
<?php $terms_as_text = get_the_term_list( $post->ID,'people', 'People: ', ', ');
if (!empty($terms_as_text)) echo '<p>', strip_tags($terms_as_text) ,'</p>'; ?>
クレジット: CSSトリック