2016-07-12 2 views
0

Если вы посмотрите на документацию для get_category_parents() , вы увидите, что она восстанавливает строку, в которой имена категорий разделены разделителем. Теперь, я не знаю, это ли это только я, но это кажется очень глупым. То, что я ожидаю, представляет собой массив объектов реальной категории. Не может быть все, что я думаю.Wordpress получить родительские категории категории

Что было бы лучшим способом получить родительские категории в том формате, который я им хочу?

ответ

1

Попробуйте это вы получите правильный результат

если хотите получить родительскую категорию поста, то попробуйте этот

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

, если вы хотите получить родитель с идентификатором категории, то попробуйте эту .. .

// 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; 
    } 

функция поместить в functions.php

вызов этого Functio п на странице, по почте или пользовательскому шаблону

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

Вот функция, которые возвращают вас наиболее Родительская категория или пользовательские таксономии Проверено !!!

1

попробовать что-то вроде этого:

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

Не тестировалось.

Смежные вопросы