Plugin Directory

Category Posts in Custom Menu

Dynamic menus: This plugin automatically replaces selected Category / Post Tag / Custom Taxonomy links in a Custom Menu by a list of their posts/pages

The custom menu only allows adding a link that leads to a list of posts and pages belonging to a taxonomy (category, tag or custom). I wanted to insert the posts and pages themselves into the menu, so I wrote this plug-in. If you want to list the posts and pages belonging to a certain taxonomy in the menu and if you want WordPress to do this automatically for you, then I hope you will find this plugin useful.

Also works for custom post taxonomies and custom post types!

Using it

Enable the plugin and go to Appearance > Menus. Create your Custom Menu. Add a taxonomy (category/tag/custom) to the menu. Next, you can choose if you would like to replace the original link (to a page that lists the items) by the posts and pages themselves.

For each Category or Post Tag item in the menu, you now have the following extra configuration options:

  • replace the link by a list of posts in the menu y/n;
  • specify the (maximum) number of posts you want to show for this item (-1 = all, 0 also allowed now);
  • their ordering ascending or descending by ID, Author, Title and other properties. See 'Other Notes > Ordering';
  • keep or remove the original menu item (always / only if there are no posts / never);
  • specify the title for the menu items. For this you can use %post_title, %post_author and other wildcards, see 'Other Notes > Wildcards'.


This plugin uses the wp_nav_menu_objects filter hook to remove and replace category items in the menu by the posts in that category. It extends Walker_Nav_Menu_Edit to add input fields to Appearance > Menus and adds some CSS to style this properly.

The plugin now supports the wp_nav_menu_item_custom_fields hook and should be compatible with other plugins that also use this hook.

Requires: 3.2.1 or higher
Compatible up to: 4.2.5
Last Updated: 5 months ago
Active Installs: 6,000+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 0,2,0 100,1,1
100,1,1 100,2,2
100,2,2 100,1,1