Glossary is a WordPress glossary plugin that helps you explain important terms directly inside your content. It automatically links glossary terms on first mention, opens accessible click-to-open definitions, and lets you publish a browsable glossary page with structured data.
- Turn key terms into helpful definitions without cluttering your content
- Create a central glossary page with alphabetical navigation
- Improve accessibility with keyboard-friendly, semantic markup
- Add
DefinedTermandDefinedTermSetschema for glossary content - Stay lightweight: no builder, no external dependency, no complex setup
- Automatic term linking for the first mention of each glossary entry in your content
- Click-triggered popovers for short definitions and a clear path to read more
- Dedicated glossary entries with short description, long description, synonyms, and matching controls
- Glossary List block to publish a full glossary page in the block editor
- Semantic, accessible output using
<dfn>,<aside>, keyboard support, and screen-reader friendly interactions - Schema.org support for
DefinedTermandDefinedTermSet, with Yoast SEO integration when available - Synonyms, case-sensitive matching, and auto-link exclusions for better editorial control
- CSS custom properties for easy styling without rebuilding assets
- Glossary entry editor with fields for the term, short definition, long description, and synonyms.
- Glossary List block placeholder in the editor before publishing your WordPress glossary page.
- Click-triggered glossary definition popover shown inline inside post content.
- Front-end glossary page with alphabetical navigation, synonyms, and full term descriptions.
- Glossary settings for selecting the glossary page and controlling where term linking runs.
- WordPress 6.0 or higher
- PHP 7.4 or higher
- Modern browsers for the best popover experience
- Chrome / Edge 114+
- Safari 17+
- Firefox support is currently limited because Popover API and CSS Anchor Positioning support is still evolving
- In your WordPress dashboard, go to Plugins → Add New.
- Search for Glossary.
- Click Install Now and then Activate.
- Download this repository or the plugin ZIP.
- Upload it to
/wp-content/plugins/. - Activate Glossary in Plugins.
- Go to Glossary → Add new entry.
- Add a term title, short description, optional long description, and any synonyms.
- Publish the entry.
- Create a page for your glossary.
- Add the Glossary List block to that page.
- Go to Glossary → Settings and select your glossary page.
Once configured, Glossary automatically links the first matching mention of each term in supported content and opens a popover with the short definition.
Each glossary entry supports:
- Short description for inline popovers
- Long description for the full glossary page
- Synonyms for alternate matches
- Case-sensitive matching when exact casing matters
- Disable auto-linking when you want an entry listed but not linked in content
The Glossary List block displays:
- Optional heading
- Alphabetical navigation
- Grouped entries by letter
- Synonyms where available
- Long descriptions with fallback behavior when needed
Glossary outputs structured data for glossary content:
- With Yoast SEO, glossary entities are added to Yoast's JSON-LD graph
- Without Yoast SEO, the plugin outputs equivalent Microdata markup in the front end
Glossary is built around click interactions instead of hover-only behavior and includes:
- Semantic HTML elements
- Keyboard navigation
- Visible focus states
- Screen-reader friendly labels and relationships
- Accessible popover behavior that avoids overlapping definitions
The plugin uses CSS custom properties for easy theme-level styling.
:root {
--glossary-underline-color: rgba(0, 0, 0, 0.4);
--glossary-underline-hover-color: rgba(0, 0, 0, 0.7);
--glossary-focus-color: #005a87;
--glossary-bg-color: #fff;
--glossary-border-color: #ddd;
--glossary-text-color: #333;
--glossary-heading-color: #000;
--glossary-link-color: #0073aa;
--glossary-accent-color: #0073aa;
--glossary-nav-bg: #fff;
--glossary-letter-bg: #f5f5f5;
--glossary-letter-color: #333;
--glossary-letter-hover-bg: #0073aa;
--glossary-letter-hover-color: #fff;
--glossary-entry-bg: #f9f9f9;
--glossary-meta-color: #666;
}You can also control where auto-linking runs with filters such as:
add_filter( 'pp_glossary_disabled_post_types', function( $post_types ) {
return array( 'product', 'custom_post_type' );
} );No build step is required.
composer install
composer run check-cs
composer run lint
composer run phpstanGPL v3 or later
