Greg's Blog

moon indicating dark mode
sun indicating light mode

Get a WordPress Category ID

April 12, 2016

I rode the struggle bus pretty hard on this one today. I needed to ignore the “featured” category in a loop, and to do so, WP_Query() requires the category ID. Luckily, I found a handy function: get_term_by();

<?php
// Get the "featured" category object.
$featured_category = get_term_by( 'slug', 'featured', 'category' );
// Set the "featured" category ID.
$featured_category_ID = $featured_category->term_id;
// Get the latest three posts, ignoring the current post
// and any in the "featured" category.
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'post__not_in' => array( get_the_ID() ),
'category__not_in' => array( $featured_category_ID ),
'no_found_rows' => true,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
);
// Run query.
$data = new WP_Query( $args );

Director of Engineering @WebDevStudios / Author & Editor @WileyGlobal. Read more about me.