it-swarm.com.de

Holen Sie sich das erste Nachsemester

Wie erhalte ich nur den ersten Begriff eines benutzerdefinierten Beitragstyps?.
Ich kann alles bekommen - kein Problem. Das, was ich benutze, um sie alle zu schnappen

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

Würde mich über eine Antwort unter Verwendung meines Codes freuen, aber jede Hilfe ist sehr willkommen

9
Sagive SEO

Ich bin nicht sicher, was Sie mit "erster" Taxonomie meinen ... aber,

$terms = get_the_terms( $post->ID, 'mytaxonomy' );

gibt ein Array von Taxonomiebegriffsobjekten zurück

$term = array_pop($terms);

Würde dir den ersten Term im Array geben. Und dann:

echo '<a href="'.get_term_link($term->slug, 'mytaxonomy').'">'.$term->name.'</a>,'

(Möglicherweise möchten Sie einige if-Anweisungen einfügen, falls ein leeres Array oder ein Fehler zurückgegeben wird (siehe is_wp_error )

22
Stephen Harris

Ab PHP 5.4 können Sie direkt dereferenzieren ein Array, um den ersten Ausdruck zu erhalten, können Sie dies einfach tun.

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

Wenn Sie eine bestimmte Eigenschaft ( sagen Sie den Termnamen ) des ersten Terms benötigen, können Sie Folgendes tun

$first_term_name = get_the_terms( $post->ID, 'TAXONOMY_NAME' )[0]->name;
var_dump( $first_term_name );

BEARBEITEN

Nur eine Anmerkung, dies hat seine Nachteile, da Sie ein WP_Error-Objekt erhalten, wenn die Taxonomie ungültig ist. Wenn das zurückgegebene Array leer ist, erhalten Sie auch eine Warnung zu undefinierten Array-Schlüsseln. Gehen Sie daher vorsichtig vor.

4
Pieter Goosen

Es hat bei mir funktioniert. Es wird nur die erste Kategorie als Text ohne Anker angezeigt.

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

wie wäre es direkt auf den Schlüssel des Objekts zuzugreifen?

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

so können Sie auf das Objekt zugreifen.

echo $first_term->name;
0
Lafif Astahdziq