List categories

plugin banner

Simple plugin to display categories in any post or page

Author:Fernando Briano (profile at wordpress.org)
WordPress version required:3.3
WordPress version tested:6.4.2
Plugin version:0.4
Added to WordPress repository:26-06-2014
Last updated:14-12-2023
Rating, %:90
Rated by:15
Plugin URI:https://github.com/picandocodigo/List-Categor...
Total downloads:61 078
Active installs:7 000+
plugin download
Click to start download

Simple plugin to display categories in any post or page with a shortcode. It’s basically a shortcode API interface to the wp_list_categories WordPress function. This means given any of the parameters accepted by the function, you can pass it in as a shortcode parameter to the categories shortcode.

Usage:

[categories orderby=count]

Will display links to all the categories and order them by number of posts in each category.

You can also list tags or any other WordPress taxonomy. You need to pass a value to the taxonomy parameter. For example to list tags: [categories taxonomy=post_tag title_li="Tags"].
By default, the usage shows:

  • No link to all categories
  • Sorts the list of Categories by the Category name in ascending order
  • Displayed in an unordered list style
  • Does not show the post count
  • Displays only Categories with posts
  • Sets the title attribute to the Category Description
  • Is not restricted to the child_of any Category
  • No feed or feed image used
  • Does not exclude any Category and includes all Categories
  • Displays the active Category with the CSS Class-Suffix ‘ current-cat’
  • Shows the Categories in hierarchical indented fashion
  • Display Category as the heading over the list
  • No SQL LIMIT is imposed (‘number’ => 0 is not shown above)
  • Displays (echos) the categories
  • No limit to depth
  • All categories.
  • The list is rendered using a new walker object of the the Walker_Category class

See wp_list_categories for usage.

Markup and Styling of Category Lists

Taken from the wp_list_categories official documentation.

By default, wp_list_categories() generates nested unordered lists (ul) within a single list item (li) titled “Categories”.

You can remove the outermost item and list by setting the title_li parameter to an empty string. You’ll need to wrap the output in an ordered list (ol) or unordered list yourself (see the examples above). If you don’t want list output at all, set the style parameter to none.

You can style the output with these CSS selectors :

li.categories { ... }  /* outermost list item */
li.cat-item { ... }
li.cat-item-7 { ... }  /* category ID #7, etc */
li.current-cat { ... }
li.current-cat-parent { ... }
ul.children { ... }

Show categories list in columns

For outputting the list into columns, you can use CSS’s multicolumns. Since by default the list is printed as an unordered list with the “categories” class, you can add this to your CSS:

.categories{
    column-count: 5;
    column-gap: 50px;
}

ChangeLog