it-swarm.com.de

Zeigt den aktuellen Taxonomiebegriff innerhalb des verfügbaren Beitragstyps an

Nun, das sollte ziemlich einfach sein, aber ich konnte nirgendwo im Web eine Antwort finden. Alle Antworten, die ich fand, waren nah, aber nicht genau das, was ich brauchte. Ich muss nur den aktuellen Begriff eines benutzerdefinierten Beitragstyps anzeigen, in dem ich mich befinde. Nicht alle Begriffe, nur einer! (der relevante)

das ist, was ich benutze, aber es zeigt ALLE Begriffe an, die für mich nicht gut sind:

<?php
$taxonomy = 'genre';
$queried_term = get_query_var($taxonomy);
$terms = get_terms($taxonomy, 'slug='.$queried_term);
if ($terms) {
  foreach($terms as $term) {
    echo $term->name;
  }
}
?>

erinnern Sie sich - ich möchte es in meiner einzelnen Beitragstyp-Vorlage anzeigen, kann jemand vorschlagen? Vielen Dank

4
gil hamer

Ok, also habe ich endlich gefunden, was ich hier brauchte: Wie bekomme ich den aktuellen Begriff in meiner benutzerdefinierten Taxonomie in WordPress?

das letzte Update mit freundlicher Genehmigung von @ user3208:

<?php   // Get terms for post
 $terms = get_the_terms( $post->ID , 'oil' );
 // Loop over each item since it's an array
 if ( $terms != null ){
 foreach( $terms as $term ) {
 // Print the name method from $term which is an OBJECT
 print $term->slug ;
 // Get rid of the other data stored in the object, since it's not needed
 unset($term);
} } ?>

Das hat mein Problem gelöst! Vielen Dank

11
gil hamer

Sie sollten stattdessen wp_get_post_terms verwenden.

$terms = wp_get_post_terms( $post_id, $taxonomy, $args );

get_terms gibt alle in einer Taxonomie vorhandenen Begriffe an.

UPDATE:

global $post;
$terms = wp_get_post_terms( $post->ID, 'genre');
print_r($terms); #displays the output
4
RRikesh

Mit dem Code von user3208 habe ich ein bisschen Code hinzugefügt, der die URL zum Begriff hinzufügt. Hoffe das hilft jemandem aus.

<?php   // Get terms for post
$terms = get_the_terms( $post->ID , 'oil' );
// Loop over each item since it's an array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
 // Print the name and URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Get rid of the other data stored in the object, since it's not needed
unset($term); } } ?>