2016-07-12 5 views
0

Wenn Sie sich die Dokumentation für get_category_parents() ansehen, werden Sie sehen, dass es eine Zeichenfolge zurückstellt, wo die Namen der Kategorien durch einen Separator getrennt sind. Nun, ich weiß nicht, ob das nur ich ist, aber das scheint extrem dumm zu sein. Was ich erwarte, ist eine Reihe von tatsächlichen Kategorieobjekten. Kann nicht alles haben, was ich denke ..Wordpress erhalten Kategorie Eltern als Kategorie Array

Was wäre der beste Weg, um die Elternkategorien in das Format zu bekommen, das ich will?

Antwort

1

Versuchen Sie, diese werden Sie richtige Ergebnis

wenn Ihr wollen bekommen Eltern Kategorie eines Post erhalten dann versuchen, diese

$parent_cat_array = get_post_ancestors($post); //$post is an object or you can pass post id also 

wenn Sie Eltern-ID mit Kategorie erhalten wollen, dann versuchen diese .. .

// determine the topmost parent of a term 
    function get_term_top_most_parent($term_id, $taxonomy) { 
     // start from the current term 
     $parent = get_term_by('id', $term_id, $taxonomy); 
     // climb up the hierarchy until we reach a term with parent = '0' 
     while ($parent->parent != '0') { 
     $term_id = $parent->parent; 

     $parent = get_term_by('id', $term_id, $taxonomy); 
     } 
     return $parent; 
    } 

Funktion dieses functio in functions.php

Anruf zu tätigen n auf Ihrer Seite, per Post oder benutzerdefinierte Vorlage

 $term_parent = get_term_top_most_parent($term_id, $taxonomy); 
     // in case of default category then your taxonomy is category 

Hier ist die Funktion, die Sie am meisten Hauptkategorie oder benutzerdefinierte Taxonomie Getestet Rückkehr !!!

1

versuchen, etwas wie folgt aus:

$categories = []; 
$parents = get_category_parents($cat, false, ','); 
foreach($parents as $parent){ 
    $categories[] = get_term_by('name', $parent, 'category'); 
} 

Nicht getestet.