I have the following code on a custom wordpress page:
<?php
$cat_array = array();
$args=array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 10,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$cat_args=array('orderby' => 'none');
$cats = wp_get_post_terms( $post->ID , 'category', $cat_args);
foreach($cats as $cat) {
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
}
if ($cat_array) {
foreach($cat_array as $cat) {
$category = get_term_by('ID',$cat, 'category');
echo '<a href="' . esc_attr(get_term_link($category, 'category')) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'.'<br />';
}
}
wp_reset_query();
?>
It lists the categories in order of most recently updated category first. How do I adjust the code to get parent categories only?
Example:
Basically, I would just like to display the top level category. For example:
Category – Subcategory – Sub Subcategory – Sub Sub Subcategory
Just Category.
This should do what you’re looking for. It’s untested, I just whipped it up really quick right now, but the concept is there.