{"id":194247,"date":"2024-06-01T16:47:32","date_gmt":"2024-06-01T16:47:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/glossary-tooltip\/"},"modified":"2026-08-24T10:26:07","modified_gmt":"2026-08-24T10:26:07","slug":"glossary-tooltip","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/glossary-tooltip\/","author":15377746,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.5.0","stable_tag":"2.5.0","tested":"7.1","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Glossary Tooltip","header_author":"Jumedeen Khan","header_description":"This is a simple & powerful glossary tooltip plugin, which highlight terms automatically and show tooltips.","assets_banners_color":"f4f7ed","last_updated":"2026-08-24 10:26:07","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/jumedeenkhan","header_plugin_uri":"https:\/\/www.glossarytooltip.com","header_author_uri":"https:\/\/www.glossarytooltip.com\/","rating":5,"author_block_rating":0,"active_installs":100,"downloads":3845,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["installation","faq","changelog","description"],"tags":{"1.0":{"tag":"1.0","author":"jumedeenkhan","date":"2024-06-01 18:18:38"},"1.0.1":{"tag":"1.0.1","author":"jumedeenkhan","date":"2024-06-01 18:18:38"},"2.0.0":{"tag":"2.0.0","author":"jumedeenkhan","date":"2026-03-07 15:49:31"},"2.0.1":{"tag":"2.0.1","author":"jumedeenkhan","date":"2026-03-09 14:11:09"},"2.4.0":{"tag":"2.4.0","author":"jumedeenkhan","date":"2026-08-01 23:07:39"},"2.4.5":{"tag":"2.4.5","author":"jumedeenkhan","date":"2026-08-01 23:07:39"},"2.4.7":{"tag":"2.4.7","author":"jumedeenkhan","date":"2026-08-01 22:14:03"},"2.4.8":{"tag":"2.4.8","author":"jumedeenkhan","date":"2026-08-13 12:01:55"},"2.5.0":{"tag":"2.5.0","author":"jumedeenkhan","date":"2026-08-24 10:26:07"}},"upgrade_notice":{"2.5.0":"<p>WordPress 7.1 compatibility review, bug fixes, and a documentation cleanup. No settings changes; safe to update.<\/p>","2.4.8":"<p>Fixed several code quality, glossary highlighting corrupting Elementor\/Avada\/Divi\/Beaver\/WPBakery\/Oxygen live-editor canvases, and fixes accented terms never being highlighted in case-insensitive mode.<\/p>","2.4.7":"<p>Maintenance release: fixes a minor CSS bug, corrects two color-picker defaults, and removes unused code. Safe to update.<\/p>","2.4.6":"<p>[glossary_exclude] now supports a paired, closing form to exclude only the wrapped content, instead of everything to the end of the post.<\/p>","2.4.5":"<p>[glossary_list order=&quot;DESC&quot;] now also reverses the order of the A-Z letter groups themselves (Z to A), instead of only reversing the terms inside each group.<\/p>","2.4.4":"<p>Fixes the <code>[glossary_list category=&amp;quot;...&amp;quot;]<\/code> attribute, which previously always returned an empty result.<\/p>","2.4.3":"<p>[glossary_list]&#039;s <code>limit<\/code> attribute now applies per A-Z letter group instead of as one total across the whole index.<\/p>","2.4.2":"<p>[glossary_list] now accepts <code>category<\/code>, <code>orderby<\/code>, <code>order<\/code>, <code>letters<\/code>, <code>limit<\/code>, and <code>columns<\/code> attributes for filtering, sorting, and laying out the glossary index.<\/p>","2.4.1":"<p>The glossary index shortcode is now <code>[glossary_list]<\/code> (underscore); the previous <code>[glossary-list]<\/code> tag is deprecated. Per-post &quot;Disable glossary highlighting&quot; checkbox replaced with separate Glossary Highlight and Tooltip dropdown settings (Default\/On\/Off).<\/p>","2.4.0":"<p>Adds a Maintenance Tools panel (flush rewrite rules, clear glossary cache), a System Information panel on the Advanced tab, and a new Tooltip Position setting (top, bottom, left, right); performance and content-parsing options moved back to General settings.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3631349,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3631349,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3631356,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3631349,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1","2.0.0","2.0.1","2.4.0","2.4.5","2.4.7","2.4.8","2.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3631349,"resolution":"1","location":"assets","locale":"","width":1849,"height":2926},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3631349,"resolution":"10","location":"assets","locale":"","width":1920,"height":910},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3631349,"resolution":"11","location":"assets","locale":"","width":1920,"height":892},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3631349,"resolution":"12","location":"assets","locale":"","width":1887,"height":860},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3631349,"resolution":"13","location":"assets","locale":"","width":1315,"height":789},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3631349,"resolution":"2","location":"assets","locale":"","width":1849,"height":1822},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3631349,"resolution":"3","location":"assets","locale":"","width":1843,"height":1815},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3631349,"resolution":"4","location":"assets","locale":"","width":1845,"height":1810},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3631349,"resolution":"5","location":"assets","locale":"","width":1849,"height":2259},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3631379,"resolution":"6","location":"assets","locale":"","width":1570,"height":1527},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3631349,"resolution":"7","location":"assets","locale":"","width":1766,"height":2596},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3631349,"resolution":"8","location":"assets","locale":"","width":1654,"height":899},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3631349,"resolution":"9","location":"assets","locale":"","width":1088,"height":758}},"screenshots":{"1":"Configure the plugin using the General Settings tab, including highlighting, parsing, and core behavior.","2":"Customize the Glossary Index page layout, search, alphabetical navigation, and display options.","3":"Manage glossary term behavior, links, excerpts, and content display from the Glossary Term settings.","4":"Customize tooltip appearance, position, colors, mobile behavior, and display options.","5":"Fine-tune plugin behavior with Advanced Settings for better performance and compatibility.","6":"Frontend Glossary Index page with alphabetical navigation and integrated live search.","7":"Automatically highlighted glossary terms with interactive tooltips displayed on hover or tap.","8":"Browse glossary terms quickly using the alphabetical A\u2013Z, Special Characters, and 0\u20139 navigation.","9":"Instantly find glossary terms using the built-in live search terms feature.","10":"Create and edit glossary terms with descriptions, excerpts, featured images, and custom settings.","11":"Override highlight and tooltip settings for individual posts, pages or custom post types.","12":"Manage all glossary terms from the dedicated WordPress Glossary Terms dashboard.","13":"Get started quickly with the Setup Wizard for easy plugin configuration."}},"plugin_section":[],"plugin_tags":[8880,2409,19933,14090,788],"plugin_category":[47],"plugin_contributors":[166226,274197],"plugin_business_model":[],"class_list":["post-194247","plugin","type-plugin","status-publish","hentry","plugin_tags-dictionary","plugin_tags-glossary","plugin_tags-internal-linking","plugin_tags-knowledge-base","plugin_tags-tooltip","plugin_category-education-and-support","plugin_contributors-jumedeenkhan","plugin_contributors-mozedia","plugin_committers-jumedeenkhan"],"banners":{"banner":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/banner-772x250.png?rev=3631349","banner_2x":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/banner-1544x500.png?rev=3631356","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/icon-128x128.png?rev=3631349","icon_2x":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/icon-256x256.png?rev=3631349","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-1.png?rev=3631349","caption":"Configure the plugin using the General Settings tab, including highlighting, parsing, and core behavior."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-2.png?rev=3631349","caption":"Customize the Glossary Index page layout, search, alphabetical navigation, and display options."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-3.png?rev=3631349","caption":"Manage glossary term behavior, links, excerpts, and content display from the Glossary Term settings."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-4.png?rev=3631349","caption":"Customize tooltip appearance, position, colors, mobile behavior, and display options."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-5.png?rev=3631349","caption":"Fine-tune plugin behavior with Advanced Settings for better performance and compatibility."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-6.png?rev=3631379","caption":"Frontend Glossary Index page with alphabetical navigation and integrated live search."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-7.png?rev=3631349","caption":"Automatically highlighted glossary terms with interactive tooltips displayed on hover or tap."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-8.png?rev=3631349","caption":"Browse glossary terms quickly using the alphabetical A\u2013Z, Special Characters, and 0\u20139 navigation."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-9.png?rev=3631349","caption":"Instantly find glossary terms using the built-in live search terms feature."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-10.png?rev=3631349","caption":"Create and edit glossary terms with descriptions, excerpts, featured images, and custom settings."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-11.png?rev=3631349","caption":"Override highlight and tooltip settings for individual posts, pages or custom post types."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-12.png?rev=3631349","caption":"Manage all glossary terms from the dedicated WordPress Glossary Terms dashboard."},{"src":"https:\/\/ps.w.org\/glossary-tooltip\/assets\/screenshot-13.png?rev=3631349","caption":"Get started quickly with the Setup Wizard for easy plugin configuration."}],"raw_content":"<!--section=installation-->\n<h4>Automatic installation<\/h4>\n\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New Plugin<\/strong>.<\/li>\n<li>Search for <strong>Glossary Tooltip<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then click <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Glossary \u2192 Settings<\/strong> to configure the plugin.<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file.<\/li>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New Plugin \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Choose the downloaded ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> screen.<\/li>\n<\/ol>\n\n<h4>After activation<\/h4>\n\n<ol>\n<li>Go to <strong>Glossary \u2192 Add New Glossary Term<\/strong>.<\/li>\n<li>Enter the term as the title and its definition in the content editor.<\/li>\n<li>Publish the term.<\/li>\n<li>Visit any post or page containing that word to see it automatically highlighted with a tooltip.<\/li>\n<li>Optionally, create a page with the <code>[glossary_list]<\/code> shortcode (or select a glossary index page in <strong>Glossary \u2192 Settings<\/strong>) to display a full glossary index.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20manually%20link%20glossary%20terms%20in%20my%20content%3F\"><h3>Do I need to manually link glossary terms in my content?<\/h3><\/dt>\n<dd><p>No. Once a glossary term is published, the plugin automatically detects and highlights matching words across the post types you've selected in the settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20a%20full%20list%20of%20glossary%20terms%20on%20a%20page%3F\"><h3>How do I show a full list of glossary terms on a page?<\/h3><\/dt>\n<dd><p>Add the <code>[glossary_list]<\/code> shortcode to any post or page, or select a glossary index page under <strong>Glossary \u2192 Settings \u2192 Glossary Index Page<\/strong>. The index lists terms alphabetically, with optional A\u2013Z navigation and live search.<\/p><\/dd>\n<dt id=\"can%20i%20enable%20or%20disable%20highlighting%20for%20a%20single%20post%20or%20page%3F\"><h3>Can I enable or disable highlighting for a single post or page?<\/h3><\/dt>\n<dd><p>Yes. Every post, page, and supported post type has its own Glossary Highlight and Tooltip settings, each set to Default, On, or Off, independent of the site-wide settings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20prevent%20the%20glossary%20from%20parsing%20a%20paragraph%3F\"><h3>How do I prevent the glossary from parsing a paragraph?<\/h3><\/dt>\n<dd><p>Wrap the text with <code>[glossary_exclude]...[\/glossary_exclude]<\/code> to skip just that section, or place a single <code>[glossary_exclude]<\/code> marker to skip everything after it. To exclude an entire post, set its \"Glossary Highlight\" option to Off instead.<\/p><\/dd>\n<dt id=\"can%20i%20control%20tooltips%20for%20just%20one%20post%20or%20page%3F\"><h3>Can I control tooltips for just one post or page?<\/h3><\/dt>\n<dd><p>Yes. Each post or page has a Tooltip setting \u2014 Default, On, or Off \u2014 that overrides the site-wide tooltip setting for that content only.<\/p><\/dd>\n<dt id=\"can%20i%20stop%20one%20specific%20glossary%20term%20from%20being%20highlighted%20everywhere%3F\"><h3>Can I stop one specific glossary term from being highlighted everywhere?<\/h3><\/dt>\n<dd><p>Yes. Every glossary term has its own visibility controls to exclude it from auto-highlighting and\/or the glossary index, without affecting any other terms.<\/p><\/dd>\n<dt id=\"can%20i%20control%20how%20many%20times%20a%20term%20is%20highlighted%20on%20the%20same%20page%3F\"><h3>Can I control how many times a term is highlighted on the same page?<\/h3><\/dt>\n<dd><p>Yes. Under <strong>Glossary \u2192 Settings \u2192 General<\/strong>, choose to highlight each term once, a set number of times, every Nth occurrence, or every occurrence.<\/p><\/dd>\n<dt id=\"can%20a%20term%20have%20alternate%20names%20or%20abbreviations%3F\"><h3>Can a term have alternate names or abbreviations?<\/h3><\/dt>\n<dd><p>Yes. Add synonyms or alternate spellings to any glossary term, and each one will be recognized, highlighted, and linked back to the same term.<\/p><\/dd>\n<dt id=\"will%20highlighting%20break%20my%20headings%20or%20existing%20links%3F\"><h3>Will highlighting break my headings or existing links?<\/h3><\/dt>\n<dd><p>No. By default, the plugin skips headings (H1\u2013H6) and text already inside a link, so your existing structure stays intact. Both behaviors can be changed in the settings.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20my%20site%27s%20internal%20search%20results%3F\"><h3>Does this affect my site's internal search results?<\/h3><\/dt>\n<dd><p>You can optionally exclude glossary terms from your site's internal search results under <strong>Glossary \u2192 Settings \u2192 General<\/strong>. This has no effect on Google or other external search engines.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20which%20side%20of%20the%20term%20the%20tooltip%20appears%20on%3F\"><h3>Can I choose which side of the term the tooltip appears on?<\/h3><\/dt>\n<dd><p>Yes. Under <strong>Glossary \u2192 Settings \u2192 Tooltip<\/strong>, set the tooltip position to top, bottom, left, or right. Top is recommended for most layouts.<\/p><\/dd>\n<dt id=\"i%20changed%20the%20glossary%20permalink%20slug%20and%20now%20get%20404%20errors.%20how%20do%20i%20fix%20this%3F\"><h3>I changed the glossary permalink slug and now get 404 errors. How do I fix this?<\/h3><\/dt>\n<dd><p>Go to <strong>Glossary \u2192 Settings \u2192 Advanced<\/strong> and click Flush Rewrite Rules, or visit <strong>Settings \u2192 Permalinks<\/strong> and click Save Changes.<\/p><\/dd>\n<dt id=\"i%20updated%20a%20term%20but%20the%20site%20still%20shows%20the%20old%20content.%20what%20should%20i%20do%3F\"><h3>I updated a term but the site still shows the old content. What should I do?<\/h3><\/dt>\n<dd><p>If content caching is enabled, click Clear Glossary Cache on the Advanced settings tab, then clear any third-party caching or CDN cache your site uses.<\/p><\/dd>\n<dt id=\"can%20i%20back%20up%20or%20transfer%20my%20plugin%20settings%20to%20another%20site%3F\"><h3>Can I back up or transfer my plugin settings to another site?<\/h3><\/dt>\n<dd><p>Yes. The Advanced settings tab lets you export all plugin settings as a JSON file, import that file on another site, or reset everything back to defaults.<\/p><\/dd>\n<dt id=\"how%20do%20i%20move%20glossary%20terms%20to%20another%20wordpress%20site%3F\"><h3>How do I move glossary terms to another WordPress site?<\/h3><\/dt>\n<dd><p>Glossary terms are a standard WordPress content type, so you can move them with the built-in <strong>Tools \u2192 Export<\/strong> and <strong>Tools \u2192 Import<\/strong> screens.<\/p><\/dd>\n<dt id=\"how%20does%20glossary%20tooltip%20help%20improve%20my%20website%27s%20seo%3F\"><h3>How does Glossary Tooltip help improve my website's SEO?<\/h3><\/dt>\n<dd><p>By creating internal links between related content and generating a dedicated page for each glossary term, it helps search engines understand your site structure while making it easier for visitors to find relevant information.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20glossary%20term%20titles%3F\"><h3>Can I customize glossary term titles?<\/h3><\/dt>\n<dd><p>Yes. Add a custom prefix \u2014 such as <strong>\"What Is:\"<\/strong> or <strong>\"Definition of:\"<\/strong> \u2014 before glossary term titles from the Glossary Term settings, without changing the term names themselves.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20all%20wordpress%20themes%3F\"><h3>Does the plugin work with all WordPress themes?<\/h3><\/dt>\n<dd><p>Yes. It's built to work with any standards-compliant WordPress theme, and has been tested with popular themes including Twenty Twenty-Five, GeneratePress, Astra, Kadence, and Blocksy.<\/p>\n\n<p>If a theme or another plugin ever prevents glossary links or tooltips from displaying correctly, the settings include compatibility options to help resolve most conflicts.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20slow%20down%20my%20site%3F\"><h3>Does the plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. Built-in performance options let you skip parsing when no glossary terms exist, cache parsed content, load scripts in the footer, load assets inline, and limit parsing to the main query only.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20help%3F\"><h3>Where can I get help?<\/h3><\/dt>\n<dd><p>Visit the <a href=\"https:\/\/wordpress.org\/support\/plugin\/glossary-tooltip\/\">support forum<\/a> or the <a href=\"https:\/\/www.glossarytooltip.com\/\">documentation site<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.5.0<\/h4>\n\n<ul>\n<li>Fixed: Accented-letter grouping in the glossary index, and a footer-script loading edge case on older WordPress versions.<\/li>\n<li>Improved: Resolved all WordPress.org Plugin Check warnings and cleaned up code documentation to WordPress standards.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>2.4.8<\/h4>\n\n<ul>\n<li>Improved: Fixed several code quality and internationalization issues found by the WordPress.org Plugin Check tool (missing translator comments, unslashed input, readme formatting).<\/li>\n<li>Fixed: Glossary parsing was corrupting page builder layouts (Elementor, Avada\/Fusion Builder) by highlighting terms inside their live-editing canvas. Parsing now skips content while Elementor, Avada, Divi, Beaver Builder, WPBakery, or Oxygen is in active edit mode.<\/li>\n<li>Fixed: Accented\/non-ASCII glossary terms were silently never highlighted in case-insensitive mode, due to <code>strtolower()<\/code> not folding non-ASCII characters. Now uses <code>mb_strtolower()<\/code>.<\/li>\n<\/ul>\n\n<h4>2.4.7<\/h4>\n\n<ul>\n<li>Fixed: Settings page color-picker \"default\" swatches didn't match the actual documented defaults.<\/li>\n<li>Fixed: A per-post settings meta box was missing <code>wp_unslash()<\/code> before sanitizing deactivation-feedback fields.<\/li>\n<li>Changed: The glossary single-page \"back link\" template now uses the shared <code>get_gtt_option()<\/code> helper.<\/li>\n<li>Removed: Unused CSS files and admin view stubs left over from earlier versions.<\/li>\n<li>Tested up to WordPress 7.0.2.<\/li>\n<\/ul>\n\n<h4>2.4.6<\/h4>\n\n<ul>\n<li>Added: <code>[glossary_exclude]<\/code> now supports a paired form \u2014 <code>[glossary_exclude]...[\/glossary_exclude]<\/code> \u2014 excluding only the content between the markers, with multiple blocks supported per post. The original unpaired marker still works as before.<\/li>\n<\/ul>\n\n<h4>2.4.5<\/h4>\n\n<ul>\n<li>Fixed: <code>[glossary_list order=\"DESC\"]<\/code> only reversed terms inside each A-Z letter group, leaving the groups themselves (A, B, C...) in ascending order. <code>order<\/code> now also reverses the letter-group sequence, running the whole index Z to A, with the jump-navigation links reordering to match.<\/li>\n<\/ul>\n\n<h4>2.4.4<\/h4>\n\n<ul>\n<li>Fixed: The <code>[glossary_list]<\/code> shortcode's <code>category<\/code> attribute always returned an empty index, because the glossary category taxonomy wasn't registered yet when the terms cache was first built. Plugin startup is now correctly deferred until the <code>init<\/code> hook.<\/li>\n<\/ul>\n\n<h4>2.4.3<\/h4>\n\n<ul>\n<li>Changed: The <code>[glossary_list]<\/code> shortcode's <code>limit<\/code> attribute now caps the number of terms shown <em>per A-Z letter group<\/em>, instead of one total across the whole index.<\/li>\n<\/ul>\n\n<h4>2.4.2<\/h4>\n\n<ul>\n<li>New: <code>[glossary_list]<\/code> now accepts <code>category<\/code>, <code>orderby<\/code>, <code>order<\/code>, <code>letters<\/code>, <code>limit<\/code>, and <code>columns<\/code> attributes for filtering, sorting, hiding letters, capping terms shown, and laying out 1-6 columns.<\/li>\n<li>Fixed: <code>orderby<\/code>\/<code>order<\/code> now sort terms <em>inside<\/em> each A-Z letter group only \u2014 the groups themselves always stay in fixed alphabetical order.<\/li>\n<\/ul>\n\n<h4>2.4.1<\/h4>\n\n<ul>\n<li>Changed: The glossary index shortcode is now <code>[glossary_list]<\/code> (underscore) per WordPress guidelines; the old <code>[glossary-list]<\/code> tag is deprecated.<\/li>\n<li>Changed: The per-post \"Disable glossary highlighting\" checkbox has been replaced with two independent dropdowns \u2014 \"Glossary Highlight\" and \"Tooltip\" \u2014 each offering Default, On, or Off.<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>New: \"Tooltip position\" setting on the Tooltip tab \u2014 above, below, left, or right of a highlighted term.<\/li>\n<li>New: \"Maintenance Tools\" card on the Advanced tab with one-click \"Flush Rewrite Rules\" and \"Clear Glossary Cache\" actions.<\/li>\n<li>New: System Information panel on the Advanced tab with a one-click copy-to-clipboard button.<\/li>\n<li>Changed: The Advanced tab's Import\/Export section is now scoped to plugin settings only (JSON); glossary term export\/import now uses core's Tools \u2192 Export\/Import.<\/li>\n<li>Improved: Performance and asset-loading options moved from Advanced back to General settings, under a new \"Performance &amp; Asset Loading\" section.<\/li>\n<li>Improved: Settings screen visual design refined for a more consistent, modern appearance.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>New: Import &amp; Export section on the Advanced tab \u2014 settings export\/import\/reset, glossary data export (CSV\/JSON), and a 3-step migration wizard.<\/li>\n<li>New: All import\/export\/reset actions run over AJAX with nonce verification and a <code>manage_options<\/code> capability check.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Improved: Settings layout now uses the full available width with a proportional main\/sidebar split; tab navigation redesigned into a segmented pill style.<\/li>\n<li>Improved: Content-parsing options moved from Advanced back to General settings, under a new \"Content Parsing\" section.<\/li>\n<li>Improved: Renamed the \"Index Page\" and \"Terms\" tabs to \"Glossary Index Page\" and \"Glossary Terms\" for clarity.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>New: Redesigned settings screen with a branded header, version badge, quick action links, and a two-column layout with a persistent sidebar for the installation guide and support links.<\/li>\n<li>New: \"Advanced\" settings tab groups parsing-performance and asset-loading options.<\/li>\n<li>New: \"Highlight only space-separated terms\" option to prevent matching inside compound words.<\/li>\n<li>New: \"Load scripts in footer\" option for faster perceived load times.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fixed: Deactivating the plugin no longer deletes your glossary settings.<\/li>\n<li>Fixed: \"Disable tooltips on the glossary index\" setting now works correctly.<\/li>\n<li>Fixed: Glossary highlighting no longer skips a page just because its slug happens to be \"glossary\".<\/li>\n<li>Fixed: A closure\/filter mismatch that could force all outgoing emails to HTML formatting after using the deactivation feedback form.<\/li>\n<li>Security: Added nonce verification to the deactivation feedback form and a capability check for the \"disable highlight\" post setting.<\/li>\n<li>Accessibility: Tooltips are now visible on keyboard focus, not just mouse hover.<\/li>\n<li>New: Synonyms\/aliases for glossary terms.<\/li>\n<li>New: Per-term visibility controls (exclude a term from auto-highlighting and\/or the glossary index).<\/li>\n<li>Improved: Replaced deprecated <code>get_post_custom()<\/code> calls with targeted <code>get_post_meta()<\/code> calls.<\/li>\n<li>Improved: Corrected the plugin's declared minimum PHP version to match the code.<\/li>\n<li>Improved: Synonym\/alias matching now treats a term and its synonyms as one keyword group, always preferring the longest match to prevent overlapping links.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Improved tooltip behavior.<\/li>\n<li>Performance improvements.<\/li>\n<li>Minor fixes.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Added advanced glossary settings.<\/li>\n<li>Added glossary index improvements.<\/li>\n<li>Added tooltip customization options.<\/li>\n<li>Added live search on the glossary index.<\/li>\n<li>Improved parsing performance.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Settings improvements.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>\n\n<!--section=description-->\n<p>Turn glossary terms into automatic links, show instant tooltips with definitions, and create a searchable A\u2013Z glossary index page.<\/p>\n\n<h3>Automatically Highlight Glossary Terms and Show Tooltips<\/h3>\n\n<p><strong>Glossary Tooltip<\/strong> automatically detects glossary terms in your WordPress website content, converts them into links, and displays clean, <strong>responsive tooltips with their definitions<\/strong> \u2014 helping visitors understand unfamiliar terms without leaving the page.<\/p>\n\n<p>A built-in, <strong>searchable A\u2013Z glossary index<\/strong> with live search lets visitors browse every term at a glance, while consistent internal linking between your content and its definitions improves both readability and site structure.<\/p>\n\n<p>It's well suited for <strong>blogs, documentation sites, knowledge bases, online courses, SaaS products, and any business, medical, financial, or legal website<\/strong> that relies on specialized terminology.<\/p>\n\n<p>Learn more about <strong>Glossary Tooltip<\/strong>:<\/p>\n\n<p><a href=\"https:\/\/glossarytooltip.com\/\">Official Website<\/a> | <a href=\"https:\/\/glossarytooltip.com\/docs\/\">Documentation<\/a> | <a href=\"https:\/\/glossarytooltip.com\/demo\/\">Demo<\/a> | <a href=\"https:\/\/www.youtube.com\/@GlossaryTooltip\/videos\">Video Tutorials<\/a> | <a href=\"https:\/\/glossarytooltip.com\/faq\/\">FAQs<\/a><\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Automatic term highlighting<\/strong> \u2014 publish a glossary term once and it's automatically detected and linked across the post types you choose, with no manual linking.<\/li>\n<li><strong>Responsive tooltips<\/strong> \u2014 definitions on hover (desktop) or tap (mobile), with configurable position, colors, width, and excerpt length.<\/li>\n<li><strong>Searchable A\u2013Z glossary index<\/strong> \u2014 a dedicated <code>[glossary_list]<\/code> index page with alphabetical navigation, live search, categories, and flexible sorting and layout.<\/li>\n<li><strong>Categories, synonyms &amp; aliases<\/strong> \u2014 organize terms into categories, and add alternate spellings or abbreviations that highlight and link back to the same term.<\/li>\n<li><strong>Per-post and per-term overrides<\/strong> \u2014 turn highlighting or tooltips on or off for individual posts, pages, or specific terms, independent of the global settings.<\/li>\n<li><strong>Flexible parsing controls<\/strong> \u2014 limit highlighting to chosen post types, skip headings and existing links, exclude specific HTML tags, control repeat\/skip behavior, and exclude content with the <code>[glossary_exclude]<\/code> shortcode.<\/li>\n<li><strong>Built for performance<\/strong> \u2014 optional content caching, footer script loading, inline asset delivery, and smart parsing that skips content with no matching terms.<\/li>\n<li><strong>Settings backup &amp; migration<\/strong> \u2014 export or import all plugin settings as JSON, reset to defaults, and move glossary terms between sites with WordPress's built-in Tools \u2192 Export\/Import.<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<p>This plugin includes two shortcodes: <code>[glossary_list]<\/code> to display your glossary index, and <code>[glossary_exclude]<\/code> to turn off glossary highlighting on part or all of a specific post or page.<\/p>\n\n<p><strong><code>[glossary_list]<\/code><\/strong><\/p>\n\n<p>Add this shortcode to any post or page to display your full glossary list there \u2014 an alphabetically organized (A-Z) list of all your glossary terms, with optional jump navigation and a live search box.<\/p>\n\n<p>Basic example, showing every glossary term with the default settings:<\/p>\n\n<pre><code>[glossary_list]\n<\/code><\/pre>\n\n<p><em>Supported attributes<\/em><\/p>\n\n<ul>\n<li><code>category=\"all\"<\/code> \u2014 Only show terms assigned to one or more Glossary Categories. Use a single category slug (e.g. <code>category=\"seo\"<\/code>), or several separated by commas to show terms matching <em>any<\/em> of them (e.g. <code>category=\"seo,wordpress\"<\/code>). Defaults to <code>all<\/code>, which shows every term regardless of category.<\/li>\n<li><code>orderby=\"name\"<\/code> \u2014 Chooses how terms are sorted <em>within<\/em> each A-Z letter group. A term never moves out of its own letter group \u2014 only the order of terms inside each group, and the order the groups themselves appear in, follow <code>orderby<\/code>\/<code>order<\/code> together. Accepted values: <code>name<\/code> (alphabetical), <code>date<\/code> (publish date), <code>menu_order<\/code> (the custom order set on the Glossary Terms screen), or <code>rand<\/code> (random order, reshuffled on every page load \u2014 group order is unaffected by <code>order<\/code> in this case). Defaults to <code>name<\/code>.<\/li>\n<li><code>order=\"ASC\"<\/code> \u2014 Sets the sort direction used by <code>orderby<\/code>, and also the direction the A-Z letter groups themselves run in. Accepted values: <code>ASC<\/code> (ascending \u2014 groups run A to Z, terms sort oldest to newest for <code>orderby=\"date\"<\/code>) or <code>DESC<\/code> (descending \u2014 groups run Z to A, terms sort newest to oldest for <code>orderby=\"date\"<\/code>). Defaults to <code>ASC<\/code>. Has no effect on term order when <code>orderby=\"rand\"<\/code>, and no effect on group order at all when <code>orderby=\"rand\"<\/code>.<\/li>\n<li><code>letters=\"show\"<\/code> \u2014 Shows or hides the big A-Z letter heading above each group of terms. Accepted values: <code>show<\/code> or <code>hide<\/code>. Defaults to <code>show<\/code>.<\/li>\n<li><code>limit=\"-1\"<\/code> \u2014 The maximum number of terms to display <em>per A-Z letter group<\/em> \u2014 not a total for the whole index. For example, <code>limit=\"2\"<\/code> shows at most 2 terms under A, at most 2 under B, at most 2 under C, and so on. Use <code>-1<\/code> for no limit, showing every matching term. Defaults to <code>-1<\/code>.<\/li>\n<li><code>columns=\"2\"<\/code> \u2014 How many columns to arrange the terms into within each letter group. Accepts a whole number from <code>1<\/code> to <code>6<\/code>. Defaults to <code>2<\/code>.<\/li>\n<\/ul>\n\n<p><em>Examples<\/em><\/p>\n\n<p>Show only terms from the \"SEO\" category:<\/p>\n\n<pre><code>[glossary_list category=\"seo\"]\n<\/code><\/pre>\n\n<p>Combine multiple attributes \u2014 \"Web Development\" terms only, newest first, up to 5 per letter, in 3 columns:<\/p>\n\n<pre><code>[glossary_list category=\"web-development\" orderby=\"date\" order=\"DESC\" limit=\"5\" columns=\"3\"]\n<\/code><\/pre>\n\n<p>Add <code>[glossary_exclude]<\/code> marker to a specific post or page to turn off automatic glossary term highlighting for part or all of that content \u2014 the rest of your site keeps highlighting as normal.<\/p>\n\n<p>It doesn't display anything itself; the marker(s) are simply removed from the page when it renders and it supports two forms:<\/p>\n\n<p><strong>Paired form<\/strong> \u2014 wraps a specific section and excludes only that section, leaving the rest of the post highlighted normally:<\/p>\n\n<pre><code>[glossary_exclude]This paragraph will not have any glossary terms highlighted.[\/glossary_exclude]\n<\/code><\/pre>\n\n<p>You can use the paired form as many times as you like in the same post \u2014 each pair excludes only the content between it.<\/p>\n\n<p><strong>Single-marker form<\/strong> \u2014 placed on its own, excludes everything from that point to the end of the content:<\/p>\n\n<pre><code>[glossary_exclude]\n<\/code><\/pre>\n\n<p>This is useful for pages where you don't want glossary tooltips to appear in part or all of the content, such as a legal page, a code tutorial, or a post that already discusses a term in detail.<\/p>\n\n<p>Excluding the entire post has the same effect as setting the \"Glossary Highlight\" option to Off on that post\/page's edit screen.<\/p>\n\n<h4>Need more shortcode examples?<\/h4>\n\n<p>See the complete shortcode documentation: <a href=\"https:\/\/glossarytooltip.com\/docs\/glossary-index\/\">Glossary Tooltip &gt;&gt; Documentation &gt;&gt; Glossary Page<\/a><\/p>\n\n<h4>Multilingual sites<\/h4>\n\n<p>Glossary Tooltip stores UTF-8 content and is compatible with multilingual plugins such as WPML and Polylang.<\/p>\n\n<h4>Documentation and support<\/h4>\n\n<p>Full documentation and setup guides are available at official website <a href=\"https:\/\/glossarytooltip.com\/\">glossarytooltip.com<\/a>.<\/p>\n\n<p>For questions or issues, please use the <a href=\"https:\/\/wordpress.org\/support\/plugin\/glossary-tooltip\/\">support forum<\/a>.<\/p>","raw_excerpt":"Turn glossary terms into automatic links, show instant tooltips with definitions, and create a searchable A\u2013Z glossary index page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/194247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=194247"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jumedeenkhan"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=194247"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=194247"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=194247"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=194247"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=194247"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=194247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}