This is a quick little piece of code that I have been using a lot lately. I needed to get the category ID but all I had to work with was the category slug. Luckily WordPress has a neat little function called get_term_by()
which makes it super easy. The function can be used to get a lot more information but for this example I am just going to extract the ID.
The function works like this:
<?php get_term_by( $field, $value, $taxonomy, $output, $filter ) ?>
$field: (string) (required) Either ‘slug’, ‘name’, or ‘id’. Default: None
$value: (string|integer) (required) Search for this term value. Default: None
$taxonomy: (string) (required) Taxonomy Name. Default: None
$output: (string) (optional) Constant OBJECT, ARRAY_A, or ARRAY_N. Default: OBJECT
$filter: (string) (optional) default is raw or no WordPress defined filter will applied. Default: ‘raw’
We are going to use it like this to get the ID with the category slug ‘tutorials’:
<?php
$theCatId = get_term_by( 'slug', 'tutorials', 'category' );
$theCatId = $theCatId->term_id;
?>
If you insert a print_r()
function you can echo out all the information that the get_term_by()
function contains. Use something like this and see if there is other information that you might want to extract:
<?php
$theCatId = get_term_by( 'slug', 'tutorials', 'category' );
print_r($theCatId);
?>
Then all you would have to do is use whichever term your see between those square brackets like so:
<?php
$theCatId = get_term_by( 'slug', 'tutorials', 'category' );
$theCatId = $theCatId->description;
?>