Home Plugins category posts in custom menu
Category Posts in Custom Menu logo

Category Posts in Custom Menu

by Diana van de Laarschot on WordPress.org

Dynamic menus: List all posts from a category in your menu. Also works for tags, custom taxonomies as well as pages and custom post types.

(43)
Go to Appearance > Menu to enable/disable and set the options for the replacement of Category / Post Tag links by their posts.

Go to Appearance > Menu to enable/disable and set the options for the replacement of Category / Post Tag links by their posts.

The default custom menu in WordPress only allows adding a link that leads to a list of posts and pages belonging to a taxonomy (category, tag, etc). If you want to list the posts and pages themselves and if you want WordPress to do this automatically for you, then I hope you will find this plugin useful.

Also works for custom taxonomies and custom post types
NEW: CPCM V3 now provides support for Full Site Editing with the Gutenberg Block Editor
WARNING: Coming from version 1.x? There are breaking changes, read the changelog before upgrading.

Using it

Enable the plugin and go to either Appearance > Menus or Appearance > Customize or Appearance > Editor. Add a category (or other taxonomy like tag or custom) to the menu. Next, you can choose if you would like to replace the category by the posts or pages themselves.

For each Category in your menu, you now have the following extra configuration options:

  • Replace by posts in the category y/n;
  • specify the (maximum) number of posts you want to show for this item (max 10);
  • their ordering ascending or descending by Title, Date or Menu Order;
  • specify the title for the menu items. For this you can use %post_title, %post_author and other wildcards, see ‘Other Notes > Wildcards’. Default value: %post_title

Wildcards

You can control the title of the menu items generated by the plug-in with the following wildcards:

  • %post_title
  • %post_author
  • %post_date for the unformatted post date: 2012-11-10 18:14:23
  • %post_date() for a formatted post date with the following default formatting: November 10th, 2012
  • %post_date() for custom date formatting. Example: %post_date(l jS \of F Y, h:i:s A). See https://codex.wordpress.org/Formatting_Date_and_Time for formatting options.
  • %post_date_gmt
  • %post_date_gmt()
  • %post_date_gmt()
Active installations2K+
Weekly downloads
38-5.00%
Version3.0.4
Last updated7/14/2025
WordPress version5.4
Tested up to6.8.1
PHP version7.4
Tags
automaticcategoryDynamicmenusubmenu
Category Posts in Custom Menu | Plugin0