Rich Taxonomy
Rich Taxonomy
Description
Note: This plugin works with both classic themes and block themes that support Full Site Editing (FSE).
- Replace term archive pages with custom Taxonomy Pages (CPT).
- Use the block editor to design archive landing pages.
- Includes a Taxonomy Archive Block to display posts.
- Fully customizable via templates and filter hooks.
Use Cases
Topic clusters & pillar pages (SEO). Turn a category or tag archive into a pillar page that introduces the topic and links out to its individual posts (the cluster content). This is the topic-cluster model used in modern SEO: one authoritative hub page that consolidates internal links and signals topical authority — instead of a bare, auto-generated list of post titles.
Category & taxonomy landing pages. Give any taxonomy term a fully designed landing page — hero, introduction, curated blocks — while still automatically listing the posts assigned to that term. Ideal for product categories, service areas, or editorial sections.
Content hubs. Build a curated hub for a series, event, or campaign: write an editorial introduction in the block editor, then let the Taxonomy Archive Block surface the latest related posts automatically.
How It Works
The Taxonomy Page will override the first page of a term archive. In Settings you can choose which taxonomies should have the option to create a Taxonomy Page.
For example, to create a Taxonomy Page for the News category:
- In Settings Reading select
Category. - Go to Posts Categories, hover over “News” and click Taxonomy Page.
- Edit the Taxonomy Page in the block editor and publish it.
- View the page at
/category/news(assuming your permalink structure is set to “Post name”).
Taxonomy Archive Block
When editing a Taxonomy Page in the block editor, you also have access to the Taxonomy Archive Block. This block displays an overview of every post in the term archive. A number of options allow you to alter its behavior:
-
Number of Posts
Sets the maximum number of posts displayed in the overview. -
Toggle Button Text
Sets the text for the toggle button. This button appears when the total number of posts exceeds the number set in “Number of Posts”. -
Archive Button Text
Sets the text for the archive button. This button links to the second page of the term archive. It will be displayed when the amount of posts exceedsBlog pages show at mostin Settings Reading.
Template Structure
You can choose a template for the Taxonomy Page in the block editor. Alternatively, you can create your own template, by adding singular-taxonomy-page.php to your theme’s templates, or using the filter hook rich_taxonomy_include_template.
The default template hierarchy, from highest to lowest priority, is as follows:
singular-taxonomy-page.phppage.phpsingle.phpsingular.phpindex.php
Customization
Template Override: Taxonomy Archive Block
To override the layout of the Taxonomy Archive Block, copy these files into your theme under:
template-parts/rich-taxonomy/
Files:
archive-block-loop.php– Loop of post listarchive-block-more.php– Archive buttonarchive-block-toggle.php– Toggle button-
archive-block-wrapper.php– Wrapper of archiveStyles and Scripts
You can override the plugin’s styles and scripts using these hooks:
rich_taxonomy_block_asset_stylerich_taxonomy_block_asset_editor_stylerich_taxonomy_block_asset_scriptrich_taxonomy_block_asset_editor_script
To change the look & feel, rich_taxonomy_block_asset_style is the best starting point.
Example: Override Style
// Register style.
add_action( 'init', function() {
wp_register_style( 'my-archive-block', $url, $deps, $version );
} );
// Override handle.
add_filter( 'rich_taxonomy_block_asset_style', function( $handle, $block_name ) {
if ( 'rich-taxonomy/archive-block' === $block_name ) {
$handle = 'my-archive-block';
}
return $handle;
}, 10, 2 );
This style will load on both the front-end and block editor.
Default Contents
To define the default content of the Taxonomy Page, use the rich_taxonomy_default_post_object filter hook.
Example: Define Default Content
/**
* Filter default post object.
*
* @param array $args Post object passed to wp_insert_post().
* @param WP_Term $term Term object assigned to this post.
* @param string $context Currently only 'api' is supported.
*/
add_filter( 'rich_taxonomy_default_post_object', function( $args, $term, $context ) {
// If specific taxonomy, enter default content.
if ( 'category' === $term->taxonomy ) {
// Post body.
$args['post_content'] = 'Here comes default content.';
// Publish immediately.
$args['post_status'] = 'publish';
}
return $args;
}, 10, 3 );
Installation
From Plugin Directory
- Install and activate the plugin.
- Go to Settings Reading and select the taxonomies to enable.
From GitHub
Download from the Releases page.
Screenshots
Faq
Please create a new ticket on the support forum.
Create a new issue or send pull requests.
Reviews
Changelog
1.3.0
- Add support for creating a Taxonomy Page for a taxonomy’s base URL (the whole archive), in addition to individual terms.
- Raise minimum requirements to PHP 8.1 and WordPress 6.6.
- Confirm compatibility with WordPress 7.0.
- Update the plugin icon.
1.2.1
- Update Node.js version to 20 in release workflow.
1.2.0
- Add block theme (FSE) support for template override.
- Fix template override when
single.phpexists in classic themes. - Fix layout of the sync information notice.
- Replace Gulp build system with npm scripts and
@kunoichi/grab-deps.
1.1.8
- Add pagination to the broken page warning.
- Add notices to improve UX.
- Bugfix: handle missing taxonomy and null term.
1.1.7
- Enhancement for instructions.
- Bugfix: remove warning on non-taxonomy pages.
1.1.2
- Fix bug on template selector.
1.1.1
- Fix a bug that breaks the block widgets screen.
- Update README for clearance of installation. props @megane9988
1.1.0
- Fix the bug for block disappearing.
1.0.9
- Fix a bug in the template selector in the taxonomy page editor.
1.0.0
- First release.


