Today I needed to grab the id of the current category on an archives page in a WordPress theme I am building. The reason for this is that I need to load the most recent post in a category outside of the main loop. I added the following code to functions.php:
// Get the current category id if we are on an archive/category page
function getCurrentCatID(){
global $wp_query;
if(is_category() || is_single()){
$cat_ID = get_query_var('cat');
}
return $cat_ID;
}
Thanks to Hyperspatial for the above code!
Then in my template, I used the “cat” argument of wp_query to build my query as follows:
// Get the current category id from the function we created in functions.php
$current_category_ID = getCurrentCatID();
$args = array( 'numberposts' => 1, 'offset'=> 0, 'cat' => $current_category_ID );
// ...continue code...
Pretty neat, eh?!
1 Comment
More posts from themightymo.com
How to Connect a GoDaddy Site to ManageWP
GoDaddy owns ManageWP, and, strangely, they make it very difficult to add GoDaddy-managed WordPress sites to their ManageWP service. Thankfully, there’s a quick workaround: Visit https://yoursite.com/wp-admin/plugins.php?showWorker=1 — This will make the ManageWP “Worker” plugin visible. Copy the connection info from the ManageWP Worker plugin. Add the site per-normal on ManageWP. That’s it! I hope this…
How to check if your current page is the wp-login.php page
I realized this morning that my TMM Maintenance Mode WordPress plugin had a bug that was causing the wp-login.php page to be inaccessible. The solution was to write a simple function that checks whether or not we’re currently on a login page, and then add a call to that function in my code. Here’s the…
WooCommerce Product Image Gallery Not Loading with WP Rocket Active
Today I updated a WooCommerce site, and everything worked fine, except for the images on product pages – they were not displaying at all. After a lot of trial & error, I realized that WP Rocket was to blame. I’m not sure exactly what the issue was (though my hunch is that it had to…
The category id should also be located in the $cat variable on the category page.