Category Icons & Display

Category Icons and Display

This plugin is built for WordPress site owners who want a clean, visual way to manage and display their post categories — without touching any code. Whether you’re a developer looking for a solid, well-structured solution or a site owner who wants their categories to look great, this plugin handles everything through a simple shortcode and an easy-to-use settings panel.

What It Does

Category Icons and Display lets you assign a custom icon to any parent category directly from the WordPress category screen. Those icons then appear alongside the category name wherever the shortcode is used on the frontend.

Drop the [category_icons_display] shortcode onto any page and your categories will display in a fully responsive grid layout — automatically fitting as many columns as the screen width allows, from a single column on mobile all the way up to as many as will comfortably fit on a wide desktop. No fixed breakpoints, no media queries to worry about. Parent categories appear as styled headings with their assigned icons, and subcategories are listed underneath each one.

Everything about the layout and typography is configurable from the settings panel — font size, color, hover color, weight, style, and text decoration for both parent and child categories, plus the minimum column width, column gap, and row gap for the grid.

Who It’s For

  • Site owners who want a polished category index page without hiring a developer
  • Developers who want a lightweight, well-structured plugin they can build on
  • Anyone running a WordPress site with a structured category hierarchy they want to showcase

Technical Details

  • Icons are uploaded via the WordPress media library directly from the category add and edit screens
  • An Icon column is added to the main Categories list in the admin, so you can see at a glance which categories have icons assigned
  • The frontend grid uses CSS Grid with auto-fill and a configurable minimum column width — the browser determines the number of columns automatically based on available space, with no hardcoded breakpoints
  • CSS is scoped to #mcd-container with !important on visual properties, ensuring styles render correctly on any theme including GeneratePress, Astra, and Kadence
  • Styles are enqueued via wp_add_inline_style() and only output once, even if the shortcode is used multiple times on the same page
  • All category data is fetched in a single database query and sorted in memory for efficiency
  • The WordPress color picker is used for all color fields in the settings panel
  • Includes nonce verification and capability checks on all form saves

Version: 1.8  |  Author: René Michaels  |  License: GPL2+