2016-10-11 2 views
1

Der folgende Code funktioniert für meine Posts von Benutzerdefinierter Beitragstyp (Sermon), der den Namen der untergeordneten Kategorie nur mit seinen Links anzeigt.Anzeigen des Namens der Kindkategorie NUR innerhalb der Schleife

<?php 
    $categories = get_the_category(); 
    if (! empty($categories)) { 
    echo '<a href="' . esc_url(get_category_link($categories[0]->term_id)) . '">Child Category : ' . esc_html($categories[0]->name) . '</a>'; 
    } 
?> 

Aber es funktioniert nicht, wenn ich es für meine Beiträge von Post-Typ selbst (Nachrichten Kategorie) wiederverwenden. Es zeigt weiterhin die übergeordnete Kategorie (News), es sei denn, ich habe es deaktiviert, so dass es nur die untergeordnete Kategorie anzeigt (wie Unterhaltung, Politik usw.).

Jede Hilfe wäre willkommen. Vielen Dank!

+0

'print_r ($ categories)' chk this – devpro

+0

Ich habe versucht, die Objektnamen zu ändern, aber es zeigt wirklich das Eltern-Tag auf einige Beiträge. Ich hoffe, jemand könnte mir helfen, eine Funktion für diesen zu erstellen, wenn dies nicht ohne benutzerdefinierte Funktion möglich ist. :) – Randy

Antwort

0

Ich habe mein Problem mit dieser benutzerdefinierten Funktion gelöst online gefunden und ein wenig geändert, um meine Anforderungen zu erfüllen.

function the_category_children($slug=""){ 
    $separator = ', '; 
    $output = ''; 
    if($categories  = get_the_category()): 
    if($slug_category = get_category_by_slug($slug)): 
     foreach($categories as $category): 
     if (cat_is_ancestor_of($slug_category, $category)): 
      $output .= '<a href="' . esc_url(get_category_link($category->term_id)) . '">' . esc_html($category->name) . '</a>' . $separator; 
     endif; 
     endforeach; 
     echo trim($output, $separator); 
    endif; 
    endif; 
} 

und diese Funktion the_category_children Aufruf ('category_name') innerhalb der Schleife (content.php).^_^

Verwandte Themen