এই কোডটির জন্য আইভায়লোকে ধন্যবাদ, যা বেনটারনেটের উত্তরের ভিত্তিতে ছিল।
নীচের প্রথম ফাংশনটি, get_term_top_most_parent
একটি পদ এবং শৈলশক্তি গ্রহণ করে এবং এই পদটির শীর্ষ স্তরের পিতামাতার (বা এই শব্দটি পিতৃহারা না হলে) প্রদান করে; দ্বিতীয় ফাংশন ( get_top_parents
) লুপে কাজ করে এবং একটি শ্রেনী দেওয়া হয়, একটি পোস্টের পদগুলির শীর্ষ স্তরের পিতামাতার একটি এইচটিএমএল তালিকা প্রদান করে।
// Determine the top-most parent of a term
function get_term_top_most_parent( $term, $taxonomy ) {
// Start from the current term
$parent = get_term( $term, $taxonomy );
// Climb up the hierarchy until we reach a term with parent = '0'
while ( $parent->parent != '0' ) {
$term_id = $parent->parent;
$parent = get_term( $term_id, $taxonomy);
}
return $parent;
}
উপরের ফাংশনটি একবার হয়ে গেলে, আপনি ফিরে আসা ফলাফলগুলি লুপ করে wp_get_object_terms
প্রতিটি টার্মের শীর্ষ পিতামাতাকে প্রদর্শন করতে পারেন :
function get_top_parents( $taxonomy ) {
// get terms for current post
$terms = wp_get_object_terms( get_the_ID(), $taxonomy );
$top_parent_terms = array();
foreach ( $terms as $term ) {
//get top level parent
$top_parent = get_term_top_most_parent( $term, $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)
$output = '<ul>';
foreach ( $top_parent_terms as $term ) {
//Add every term
$output .= '<li><a href="'. get_term_link( $term ) . '">' . $term->name . '</a></li>';
}
$output .= '</ul>';
return $output;
}