{"id":"did:plc:m5tfrwxd3btacxlstcvop2ib","name":"Glossary","slug":"pp-glossary","type":"wp-plugin","authors":[{"url":"","name":"Team Progress Planner"}],"license":"GPL-2.0-or-later","@context":"https:\/\/fair.pm\/ns\/metadata\/v1","filename":"pp-glossary\/pp-glossary.php","keywords":["glossary","definitions","terms","dictionary"],"releases":[{"version":"1.3.1","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/368325879","checksum":"sha256:e745de69db4948fffd627602339a1546d861e9cd7bfb5cdb9fee349b3dbbafa4","signature":"bCXDFISGOqKphmiqXgMfVvWuFBhLy4qVzu9cBe3sGxxPCs0Pkonoe_1sL3qKAWpJhhTiU5YtJ2rNdB0tOUq6BA","content-type":"application\/octet-stream"}]}},{"version":"1.3.0","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/351089185","checksum":"sha256:2e30e7446b608ea62992bc8c8f13c963a3c62589ffbb88eeb59110337ddebcd1","signature":"hBjIvHie6KQ6gHWVMNzA0rugDQkAfw0EHhtoUxufYdDojKJvpIfMpvltH03C0X_NOyf1TbLSnfumCF01aCsvCQ","content-type":"application\/octet-stream"}]}},{"version":"1.2.0","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/328599758","checksum":"sha256:feaa33e60f24877c79fdb9acae755819dd4239f543e3f567cc9330fb54184408","signature":"T8MMyul68ptCZuLMbpXb6byHs2IYGKy6ih1zE0oxRv44qyfI_tR9MLjDI1bvybkg7S958lZpJ6_UtzRGpcjPCg","content-type":"application\/octet-stream"}]}},{"version":"1.1.0","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/328224586","checksum":"sha256:1a282d251767218631ec2ab83795b35d9b03b7aa5341e9e3ec533e618096c31d","signature":"9PN-vz_OrB-e5MG_7XjyiYQgrViVSqPR6gEcWWXGJhcyC9xSBwCsvLpVlVfyd-B1u0S24TevoL4xcX86hXmyAQ","content-type":"application\/octet-stream"}]}},{"version":"1.0.3","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/327824244","checksum":"sha256:baee9bebd500801ab06c4c286050b71abd623ecf8b7a9a165137445bcc30b737","signature":"Sim8LMKqZNh5n_ZeM2FvOLoyJQMej82WPQJ_VtO9_V3st-CXAlvVlePwD0tDoIio9JQSubDJWfScQ-9rSPBQAg","content-type":"application\/octet-stream"}]}},{"version":"1.0.2","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/321024987","checksum":"sha256:962f4786a5260cac4477bc631b52ea2b93510e54e94f91555e6b423c6272983b","signature":"tyiqqAH0z_IM92plMEeKG-zX-jsYuXVB9sUrRXkWNuFg95QRm0Jk-iRdLRhdx8i4oOxVntmaJ_LTxQ6u5HKZDQ","content-type":"application\/octet-stream"}]}},{"version":"1.0.1","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/319202008","checksum":"sha256:3133f204c4c2a22bcb0e4f8b5279a6b1753018413f6795423518a1aa6c94ae30","signature":"JPrQdRoTCdbMNVwlkXBXuaxKZw-zO6ks6ic7HQvSTvcpSZCIr7GAssJKlIirkXJOvrPrMxWhZkXvStpAW6W2Cg","content-type":"application\/octet-stream"}]}},{"version":"0.1","provides":[],"requires":{"env:wp":">=6.0","env:php":">=7.4"},"suggests":{"env:wp":">=7.0.4"},"artifacts":{"icon":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon.svg","width":null,"height":null,"content-type":"image\/svg+xml"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-128x128.png","width":128,"height":128,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/icon-256x256.png","width":256,"height":256,"content-type":"image\/png"}],"banner":[{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-772x250.png","width":772,"height":250,"content-type":"image\/png"},{"url":"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/banner-1544x500.png","width":1544,"height":500,"content-type":"image\/png"}],"package":[{"url":"https:\/\/api.github.com\/repos\/ProgressPlanner\/pp-glossary\/releases\/assets\/316315635","checksum":"sha256:b39eecaf6d13e96203797eb5c71705117acbb4b9ed91f1da177eafb304e52a19","signature":"C6mmYlJIIGKjZi4Ak0rP309bGuv6f2aPNxf91i1SEX4I__Ln7QnuaTKlmVEtYgLSa6GeF6e2UGEl7YbvOdztCQ","content-type":"application\/octet-stream"}]}}],"sections":{"faq":"<h4>Does this plugin require any other plugins?<\/h4>\n<p>No, this plugin uses only native WordPress functionality and has no external dependencies.<\/p>\n<h4>Which browsers are supported?<\/h4>\n<p>The plugin works best in modern browsers with Popover API support (Chrome 114+, Edge 114+, Safari 17+). For older browsers, consider adding the Popover API polyfill.<\/p>\n<h4>Does it work with Yoast SEO?<\/h4>\n<p>Yes! The plugin integrates seamlessly with Yoast SEO, adding glossary structured data to Yoast's JSON-LD schema graph. When Yoast SEO is not active, it falls back to Microdata markup.<\/p>\n<h4>Can I customize the styling?<\/h4>\n<p>Yes, the plugin uses CSS custom properties for easy theming. You can override the default colors and styles in your theme's CSS.<\/p>\n<h4>How do I disable automatic linking for specific post types?<\/h4>\n<p>Use the <code>pp_glossary_disabled_post_types<\/code> filter:<\/p>\n<p><code>add_filter( 'pp_glossary_disabled_post_types', function( $post_types ) { return array( 'product', 'custom_post_type' ); } );<\/code><\/p>\n<h4>Does it work with the block editor?<\/h4>\n<p>Yes, the plugin includes a Glossary List block that you can add to any page or post using the block editor.<\/p>\n","changelog":"<h4> 1.3.1 <\/h4>\n<ul>\n<li>Added uninstall.php to clean up all plugin data (glossary posts, meta, and options) on deletion.<\/li>\n<\/ul>\n<h4> 1.3.0 <\/h4>\n<p>New:<\/p>\n<ul>\n<li>Glossary terms within glossary descriptions and popovers are now automatically linked (nested term linking).<\/li>\n<li>Added FAIR verification with hourly verification of PLC DID and FAIR metadata.<\/li>\n<\/ul>\n<p>Enhancements:<\/p>\n<ul>\n<li>Consolidated glossary entry queries into shared helper functions for better performance.<\/li>\n<li>Improved accessibility: added screen reader text and moved \"Read more\" link to bottom of popover.<\/li>\n<li>Changed cursor to <code>help<\/code> for glossary terms to better indicate interactive definitions.<\/li>\n<li>Updated banners and optimized images.<\/li>\n<li>Updated install instructions.<\/li>\n<\/ul>\n<h4> 1.2 <\/h4>\n<ul>\n<li>Excluded glossary entries from Yoast SEO indexables and XML sitemaps (entries have no public pages).<\/li>\n<li>Excluded glossary entries from WordPress search results.<\/li>\n<li>Removed revision support (all data is in post meta, not tracked by revisions).<\/li>\n<li>Added a setting to configure excluded HTML tags where glossary terms should not be highlighted.<\/li>\n<li>Added a setting to exclude specific post types from glossary term highlighting.<\/li>\n<li>Do not highlight glossary terms when doing feeds or REST requests.<\/li>\n<\/ul>\n<h4> 1.1.0 <\/h4>\n<ul>\n<li>Added case sensitive option for glossary entries - only matches terms when case matches exactly. (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/23\">GH issue #23<\/a>)<\/li>\n<li>Added disable auto-linking option - allows entries to appear in the glossary without being automatically linked in content. (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/19\">GH issue #19<\/a>)<\/li>\n<li>Consolidated glossary entry meta data into a single database post meta field for improved performance.<\/li>\n<li>Added automatic migration system for seamless upgrades.<\/li>\n<li>Glossary block improvements:<ul>\n<li>Now falls back to short description when long description is empty.<\/li>\n<li>Now shows an edit link for logged in users per glossary item.<\/li>\n<\/ul>\n<\/li>\n<li>Lots of accessibility fixes thanks to <a href=\"https:\/\/github.com\/joedolson\">@joedolson<\/a>:<ul>\n<li>Popover now opens on click, not on hover, and no longer auto-closes. (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/15\">GH issue #15<\/a>) &amp; (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/16\">#16<\/a>)<\/li>\n<li>Removed redundant <code>aria-describedby<\/code> attribute. (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/16\">GH issue #16<\/a>)<\/li>\n<li>Link appears inside the popover before the definition, to give context to people using screen readers better. (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/17\">GH issue #17<\/a>)<\/li>\n<li>Popovers are now type <code>auto<\/code> instead of <code>manual<\/code> which means they dismiss other popovers so they don't overlap. (<a href=\"https:\/\/github.com\/ProgressPlanner\/pp-glossary\/issues\/18\">GH issue #18<\/a>)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4> 1.0.3 <\/h4>\n<ul>\n<li>Fix non-bumped version number.<\/li>\n<\/ul>\n<h4> 1.0.2 <\/h4>\n<ul>\n<li>Asset fixes.<\/li>\n<\/ul>\n<h4> 1.0.1 <\/h4>\n<ul>\n<li>Minor bug fixes.<\/li>\n<\/ul>\n<h4> 1.0.0 <\/h4>\n<ul>\n<li>Initial release<\/li>\n<li>Custom post type for glossary entries<\/li>\n<li>Native WordPress custom fields (short description, long description, synonyms)<\/li>\n<li>Hover-triggered popovers using Popover API with CSS Anchor Positioning<\/li>\n<li>Automatic term linking (first occurrence only)<\/li>\n<li>Glossary List Gutenberg block<\/li>\n<li>Settings page for glossary page configuration<\/li>\n<li>Schema.org structured data (DefinedTerm and DefinedTermSet)<ul>\n<li>Yoast SEO integration (JSON-LD)<\/li>\n<li>Microdata fallback when Yoast is not active<\/li>\n<\/ul>\n<\/li>\n<li>Semantic, accessible HTML<\/li>\n<li>Responsive design with CSS custom properties<\/li>\n<li>Full keyboard and screen reader support<\/li>\n<li>No external plugin dependencies<\/li>\n<\/ul>","description":"<p>Glossary by Progress Planner is a modern, accessible WordPress glossary plugin that automatically transforms glossary terms in your content into interactive elements with click-triggered popover definitions.<\/p>\n<h4> Key Features <\/h4>\n<ul>\n<li><strong>Custom Post Type<\/strong>: Register glossary entries with custom fields (no content editor needed)<\/li>\n<li><strong>Native WordPress Fields<\/strong>: Uses WordPress custom meta boxes for field management (short description, long description, synonyms)<\/li>\n<li><strong>Automatic Term Linking<\/strong>: Automatically transforms the first mention of glossary terms in your content<\/li>\n<li><strong>Click-Triggered Popovers<\/strong>: Display definitions on click using the native Popover API with CSS Anchor Positioning<\/li>\n<li><strong>Case Sensitive Matching<\/strong>: Optionally match terms only when case matches exactly<\/li>\n<li><strong>Disable Auto-Linking<\/strong>: Allow entries to appear in the glossary without being automatically linked in content<\/li>\n<li><strong>Semantic HTML<\/strong>: Uses <code>&lt;dfn&gt;<\/code> and <code>&lt;aside&gt;<\/code> elements with proper ARIA attributes<\/li>\n<li><strong>Schema.org Integration<\/strong>: Full DefinedTerm and DefinedTermSet structured data support<ul>\n<li>Integrates with Yoast SEO schema graph when available<\/li>\n<li>Falls back to Microdata when Yoast SEO is not active<\/li>\n<\/ul>\n<\/li>\n<li><strong>Synonyms Support<\/strong>: Define alternative terms that trigger the same glossary entry<\/li>\n<li><strong>Glossary Block<\/strong>: Gutenberg block to display full glossary with alphabetical navigation<\/li>\n<li><strong>Settings Page<\/strong>: Configure which page displays the glossary<\/li>\n<li><strong>Accessible<\/strong>: Full keyboard navigation and screen reader compatibility<\/li>\n<li><strong>Responsive Design<\/strong>: Mobile-friendly with CSS custom properties for easy theming<\/li>\n<li><strong>No External Dependencies<\/strong>: Pure WordPress core functionality, no third-party plugins required<\/li>\n<\/ul>\n<h4> How It Works <\/h4>\n<p>Once you've added glossary entries, the plugin automatically:<\/p>\n<ul>\n<li>Scans post and page content for mentions of glossary terms (case-insensitive by default, or case-sensitive if enabled)<\/li>\n<li>Transforms the <strong>first mention<\/strong> of each term into an interactive element (unless auto-linking is disabled for that entry)<\/li>\n<li>Shows a popover with the short description when users click on the term<\/li>\n<li>Adds a \"Read more\" link to the full glossary entry<\/li>\n<\/ul>\n<h4> Browser Support <\/h4>\n<p>The plugin uses modern web platform features:<\/p>\n<p><strong>Popover API:<\/strong><\/p>\n<ul>\n<li>Chrome\/Edge 114+<\/li>\n<li>Safari 17+<\/li>\n<li>Firefox (experimental support behind flag)<\/li>\n<\/ul>\n<p><strong>CSS Anchor Positioning:<\/strong><\/p>\n<ul>\n<li>Chrome\/Edge 125+\/Safari: supported<\/li>\n<li>Firefox (not yet supported)<\/li>\n<\/ul>\n<p>For older browsers, consider adding the Popover API polyfill. CSS Anchor Positioning gracefully degrades (popovers may not position optimally but will still be functional).<\/p>\n<h4> Accessibility <\/h4>\n<p>The plugin follows WCAG 2.1 Level AA guidelines:<\/p>\n<ul>\n<li>Semantic HTML elements (<code>&lt;dfn&gt;<\/code>, <code>&lt;aside&gt;<\/code>, proper roles)<\/li>\n<li>Full keyboard navigation with visible focus indicators<\/li>\n<li>ARIA attributes for screen readers<\/li>\n<li>Click-to-open behavior (not hover) for better accessibility<\/li>\n<li>Auto-dismissing popovers that don't overlap<\/li>\n<li>Color contrast ratios meet AA standards<\/li>\n<\/ul>\n<h4> Schema.org Structured Data <\/h4>\n<p>The plugin automatically adds Schema.org structured data for glossary entries:<\/p>\n<ul>\n<li><strong>With Yoast SEO<\/strong>: Integrates with the Yoast schema graph API to add DefinedTermSet and DefinedTerm entries in JSON-LD format<\/li>\n<li><strong>Without Yoast SEO<\/strong>: Outputs Microdata markup directly in the HTML using <code>itemscope<\/code> and <code>itemtype<\/code> attributes<\/li>\n<\/ul>\n<p>Each glossary entry includes:<\/p>\n<ul>\n<li>@type: DefinedTerm<\/li>\n<li>name: The term title<\/li>\n<li>description: Short description (shown in popovers)<\/li>\n<li>url: Anchor link to the entry on the glossary page<\/li>\n<li>alternateName: Array of synonyms (alternative terms)<\/li>\n<\/ul>","screenshots":"<ol><li><a href=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-1.png\"><img src=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-1.png\" alt=\"Glossary entry editor with custom fields.\"><\/a><p>Glossary entry editor with custom fields.<\/p><\/li><li><a href=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-2.png\"><img src=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-2.png\" alt=\"Glossary List block in the editor.\"><\/a><p>Glossary List block in the editor.<\/p><\/li><li><a href=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-3.png\"><img src=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-3.png\" alt=\"Popover showing term definition.\"><\/a><p>Popover showing term definition.<\/p><\/li><li><a href=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-4.png\"><img src=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-4.png\" alt=\"Full glossary page with alphabetical navigation.\"><\/a><p>Full glossary page with alphabetical navigation.<\/p><\/li><li><a href=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-5.png\"><img src=\"https:\/\/raw.githubusercontent.com\/ProgressPlanner\/pp-glossary\/main\/.wordpress-org\/screenshot-5.png\" alt=\"Settings page for configuring the glossary page.\"><\/a><p>Settings page for configuring the glossary page.<\/p><\/li><\/ol>","installation":"<h4> Automatic Installation <\/h4>\n<ol>\n<li>Make sure you have the <a href=\"https:\/\/fair.pm\/packages\/plugins\/fair-plugin\/\">FAIR Connect plugin<\/a> installed and activated<\/li>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Navigate to Plugins &gt; Add New<\/li>\n<li>Search for \"Glossary by Progress Planner\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<\/ol>\n<h4> Manual Installation <\/h4>\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Extract it to your <code>wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<\/ol>\n<h4> Setup <\/h4>\n<ol>\n<li><strong>Create a Glossary Page<\/strong>: Create a new page in WordPress (e.g., \"Glossary\" or \"Terms\") and add the <strong>Glossary List<\/strong> block to the page<\/li>\n<li><strong>Configure Settings<\/strong>: Go to <strong>Glossary &gt; Settings<\/strong> in the WordPress admin and select the page you created as the \"Glossary Page\"<\/li>\n<li><strong>Add Glossary Entries<\/strong>: Go to <strong>Glossary &gt; Add New<\/strong> and enter terms with their short descriptions, long descriptions, and synonyms<\/li>\n<\/ol>"},"security":[{"email":"security@progressplanner.com"}],"description":"Glossary by Progress Planner is a modern, accessible WordPress glossary plugin that automatically transforms glossary terms in your content\u2026","last_updated":"2026-03-06T14:49:59Z"}