Я хочу показать на сайте родителя выбранной таксономии. Для этого у меня есть код выше, но проблема заключается в том, что он отображает всю выбранную таксономию в списке, который теперь имеет структуру.Как отобразить родителя таксономии для выбранной таксономии
global $post;
$features = get_the_terms($post->ID, 'property-feature');
if (!empty($features) && is_array($features) && !is_wp_error($features)) {
?>
<div class="property-features">
<?php
global $inspiry_options;
$property_features_title = $inspiry_options[ 'inspiry_property_features_title' ];
if(!empty($property_features_title)) {
?><h4 class="fancy-title"><?php echo esc_html($property_features_title); ?></h4><?php
}
?>
<ul class="property-features-list clearfix">
<?php
foreach($parent_term as $single_feature) {
echo '<li><a href="' . get_term_link($single_feature->slug, 'property-feature') .'">'. $single_feature->name . '</a></li>';
}
?>
</ul>
</div>
<?php
}
Пример:
Родитель: вариант 1, вариант 2
Родитель 2: вариант 3, вариант 4
Если я выбираю вариант 2 и вариант 3 я хочу видеть
Родительский: вариант 2
Родитель 2: вариант 3
Updare 2
global $post;
$features = get_the_terms($post->ID, 'property-feature');
$featuresss = get_the_terms($post->ID, 'property-feature');
// 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;
}
// so once you have this function you can just loop over the results returned by wp_get_object_terms
function hey_top_parents($taxonomy, $results = 1) {
// get terms for current post
$terms = wp_get_object_terms(get_the_ID(), $taxonomy);
$y = get_the_terms($terms->term_id, $taxonomy);
// set vars
$top_parent_terms = array();
foreach ($terms as $term) {
//get top level parent
$top_parent = get_term_top_most_parent($term->term_id, $taxonomy);
//check if you have it in your array to only add it once
if (!in_array($top_parent, $top_parent_terms)) {
$top_parent_terms[] = $top_parent;
}
}
// build output (the HTML is up to you)
foreach($top_parent_terms as $single_feature) {
echo '<li><a href="' . get_term_link($single_feature->slug, 'property-feature') .'">'. $single_feature->name . '</a></li>';
foreach($terms as $single) {
echo '<ul><li><a href="' . get_term_link($single->slug, 'property-feature') .'">'. $single->name . '</a></li></ul>';
}
}
//return $top_parent_terms;
}
мне удалось отобразить верхний родительский для выбранного систематики, но теперь проблема в том, что мне сейчас нужно, чтобы отобразить в верхнем родителю anly выбранный систематика от этого родителя
Использовать $ таксономию = "свойство-свойство"; как arg при вызове функции hey_top_parents – Landon
Как использовать эти функции? –
Просто узнал, как использовать thx –