{"id":340465,"date":"2026-07-18T09:30:19","date_gmt":"2026-07-18T09:30:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/plexblocks-table-of-contents-for-block-editor\/"},"modified":"2026-07-18T09:29:59","modified_gmt":"2026-07-18T09:29:59","slug":"plexblocks-table-of-contents-for-block-editor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/plexblocks-table-of-contents-for-block-editor\/","author":23268712,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"PlexBlocks \u2013 Table of Contents for Block Editor","header_author":"ConicPlex","header_description":"Auto-generated table of contents block for the WordPress block editor.","assets_banners_color":"a2b4c5","last_updated":"2026-07-18 09:29:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/conicplex.com\/plugins\/plexblocks-table-of-contents-for-block-editor\/","header_author_uri":"https:\/\/conicplex.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"conicplex","date":"2026-07-18 09:29:59"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3612456,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3612456,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3612456,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3612456,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"plexblocks\/table-of-contents":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"plexblocks\/table-of-contents","version":"1.0.0","title":"Table of Contents","category":"plexblocks","icon":"list-view","description":"Auto-generate a linked table of contents from headings.","keywords":["toc","table of contents","headings","plexblocks"],"textdomain":"plexblocks-table-of-contents-for-block-editor","supports":{"anchor":true,"html":false},"attributes":{"designPreset":{"type":"string","default":"editorial"},"includeH2":{"type":"boolean","default":true},"includeH3":{"type":"boolean","default":true},"includeH4":{"type":"boolean","default":false},"listStyle":{"type":"string","default":"unordered"},"sticky":{"type":"boolean","default":false},"topOffset":{"type":"number","default":24},"collapseMobile":{"type":"boolean","default":false},"title":{"type":"string","default":"Contents"},"showTitle":{"type":"boolean","default":true},"backgroundColor":{"type":"string","default":"#ffffff"},"borderColor":{"type":"string","default":"#e5e7eb"},"borderWidth":{"type":"number","default":1},"borderRadius":{"type":"number","default":18},"boxShadow":{"type":"string","default":"none"},"padding":{"type":"number","default":20},"titleColor":{"type":"string","default":"#111827"},"titleFontSize":{"type":"number","default":17},"linkColor":{"type":"string","default":"#334155"},"activeLinkColor":{"type":"string","default":"#111827"},"activeLinkBackgroundColor":{"type":"string","default":"transparent"},"linkFontSize":{"type":"number","default":15},"linkGap":{"type":"number","default":10},"indentSize":{"type":"number","default":16},"toggleBackgroundColor":{"type":"string","default":"#f8fafc"},"toggleTextColor":{"type":"string","default":"#111827"},"toggleBorderColor":{"type":"string","default":"#d1d5db"}},"example":{"attributes":{"designPreset":"soft","includeH2":true,"includeH3":true,"listStyle":"unordered","sticky":true,"topOffset":24,"collapseMobile":true,"title":"On This Page","showTitle":true,"backgroundColor":"#fffaf5","borderColor":"#fed7aa","borderWidth":1,"borderRadius":20,"boxShadow":"0 12px 28px rgba(154,52,18,0.08)","padding":22,"titleColor":"#7c2d12","linkColor":"#9a3412","activeLinkColor":"#7c2d12","activeLinkBackgroundColor":"#ffedd5","toggleBackgroundColor":"#fff7ed","toggleTextColor":"#7c2d12","toggleBorderColor":"#fed7aa"},"viewportWidth":360},"editorScript":"file:..\/..\/build\/toc.js","editorStyle":"file:..\/..\/build\/toc.css","style":"file:..\/..\/build\/toc-view.css","viewScript":"file:..\/..\/build\/toc-view.js"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The Table of Contents block controls in the block editor sidebar.","2":"A frontend preview showing a styled, nested table of contents on a live article."}},"plugin_section":[],"plugin_tags":[148857,148076,19897,10851,10852],"plugin_category":[],"plugin_contributors":[241979,242331,210138],"plugin_business_model":[],"class_list":["post-340465","plugin","type-plugin","status-publish","hentry","plugin_tags-block-editor","plugin_tags-gutenberg","plugin_tags-headings","plugin_tags-table-of-contents","plugin_tags-toc","plugin_contributors-conicplex","plugin_contributors-husenmemon","plugin_contributors-sajilmemon","plugin_committers-conicplex"],"banners":{"banner":"https:\/\/ps.w.org\/plexblocks-table-of-contents-for-block-editor\/assets\/banner-772x250.png?rev=3612456","banner_2x":"https:\/\/ps.w.org\/plexblocks-table-of-contents-for-block-editor\/assets\/banner-1544x500.png?rev=3612456","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plexblocks-table-of-contents-for-block-editor\/assets\/icon-128x128.png?rev=3612456","icon_2x":"https:\/\/ps.w.org\/plexblocks-table-of-contents-for-block-editor\/assets\/icon-256x256.png?rev=3612456","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Improving content structure is one of the easiest ways to keep readers engaged and boost your site's search engine rankings. <strong>PlexBlocks \u2013 Table of Contents<\/strong> makes this effortless by automatically scanning your articles and generating a clean, nested index of your headings directly inside the block editor.<\/p>\n\n<p>Unlike other plugins that require you to manually define HTML anchor IDs for every heading, this plugin dynamically creates safe, unique anchors for you on the fly. If you decide to add a custom anchor in the editor, the block respects your choice and links to it seamlessly.<\/p>\n\n<p>Built specifically for the Gutenberg block editor, it features deep design settings, letting you style the block to look native to your theme. You can adjust colors, spacing, borders, box shadows, and choose between bulleted, numbered, or unstyled layouts.<\/p>\n\n<p>For longer posts, you can enable sticky mode with custom offsets so the table of contents follows the reader as they scroll, highlighting the active section in real-time. On mobile devices, the block can optionally collapse into a neat, space-saving toggle.<\/p>\n\n<h3>Key Benefits &amp; Features:<\/h3>\n\n<ul>\n<li><strong>Automated Anchor Generation:<\/strong> Automatically generates HTML anchor links for all core headings (H2, H3, H4) on the page. No manual configuration needed.<\/li>\n<li><strong>Scroll Tracking &amp; Highlights:<\/strong> Highlights the current heading in the table of contents as the user scrolls through the article, improving user navigation.<\/li>\n<li><strong>Sticky Mode with Offset:<\/strong> Pins the table of contents to the screen on desktop displays. Includes a customizable top offset setting to prevent overlapping sticky headers.<\/li>\n<li><strong>Mobile-Friendly Toggle:<\/strong> Collapses the list on mobile viewports (under 782px) into an expandable toggle button to preserve screen real estate.<\/li>\n<li><strong>Deep Styling Controls:<\/strong> Customize background colors, border radius, borders, padding, shadows, font sizes, link gap sizes, and indent offsets from the block settings.<\/li>\n<li><strong>Layout Styles:<\/strong> Choose between ordered (numbered), unordered (bulleted), or plain (unstyled) lists.<\/li>\n<li><strong>Design Presets:<\/strong> Quickly apply preset layouts like 'soft' or 'editorial' for immediate styling.<\/li>\n<li><strong>Performance Focused:<\/strong> Extremely lightweight with clean PHP and optimized JavaScript. No external database queries or heavy assets.<\/li>\n<\/ul>\n\n<h3>Developer Credits<\/h3>\n\n<p>This plugin was developed by ConicPlex, focusing on WordPress development. For custom Gutenberg block development, plugins, and professional WordPress services, visit <a href=\"https:\/\/conicplex.com\">ConicPlex<\/a>.<\/p>\n\n<h3>Credits &amp; 3rd Party Services<\/h3>\n\n<ul>\n<li><strong><a href=\"https:\/\/conicplex.com\/\">ConicPlex.com<\/a><\/strong>: Developed and maintained by the ConicPlex team.<\/li>\n<li><strong>Plugin Telemetry (Developer Insights)<\/strong>: To improve this software, this plugin includes optional telemetry. Whenever the plugin is activated, deactivated, or uninstalled, an API request may be sent to ConicPlex to record the action. The data transmitted includes the action, site URL, admin email address, plugin version, plugin name, plugin text domain, WordPress version, site language, and site timezone. For more information, please read the <a href=\"https:\/\/conicplex.com\/privacy-policy\/\">ConicPlex Privacy Policy<\/a> and <a href=\"https:\/\/conicplex.com\/terms-conditions\/\">Terms &amp; Conditions<\/a>.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>Installing the plugin is simple. You can install it directly from your WordPress dashboard or upload the files manually.<\/p>\n\n<h3>From the WordPress Admin Dashboard:<\/h3>\n\n<ol>\n<li>Go to <strong>Plugins<\/strong> &gt; <strong>Add New<\/strong>.<\/li>\n<li>Search for <code>PlexBlocks \u2013 Table of Contents<\/code>.<\/li>\n<li>Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h3>Manual Installation via FTP:<\/h3>\n\n<ol>\n<li>Download the plugin ZIP archive and extract it.<\/li>\n<li>Upload the extracted <code>plexblocks-table-of-contents-for-block-editor<\/code> directory to your <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Go to <strong>Plugins<\/strong> &gt; <strong>Installed Plugins<\/strong> in your WordPress dashboard.<\/li>\n<li>Locate the plugin in the list and click <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20block%20support%20standard%20wordpress%20headings%3F\"><h3>Does this block support standard WordPress headings?<\/h3><\/dt>\n<dd><p>Yes. The block scans and extracts standard headings (<code>core\/heading<\/code>) created with the default WordPress block editor.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20manually%20add%20html%20anchor%20tags%20to%20each%20heading%3F\"><h3>Do I have to manually add HTML anchor tags to each heading?<\/h3><\/dt>\n<dd><p>No. The plugin automatically generates unique and web-safe HTML anchors (slugs) from your heading text. However, if you manually enter a custom HTML anchor in the Gutenberg block settings for a heading, this plugin will prioritize and use your custom anchor instead.<\/p><\/dd>\n<dt id=\"which%20heading%20levels%20are%20supported%3F\"><h3>Which heading levels are supported?<\/h3><\/dt>\n<dd><p>You can toggle inclusion for H2, H3, and H4 headings in the block settings. This gives you complete control over how detailed your table of contents is.<\/p><\/dd>\n<dt id=\"can%20the%20table%20of%20contents%20stay%20visible%20when%20scrolling%3F\"><h3>Can the table of contents stay visible when scrolling?<\/h3><\/dt>\n<dd><p>Yes. Enabling the \"Sticky\" attribute in the block settings keeps the TOC container fixed on the screen as the reader scrolls. You can define a top offset (in pixels) to ensure it clears any sticky admin bars or theme headers.<\/p><\/dd>\n<dt id=\"how%20does%20this%20help%20with%20seo%3F\"><h3>How does this help with SEO?<\/h3><\/dt>\n<dd><p>A table of contents provides search engine crawlers with a clear, semantic map of your post's structure. By generating anchor links, search engines like Google can display \"jump-to\" links directly in search results, which can increase your click-through rate.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20track%20user%20data%3F\"><h3>Does this plugin track user data?<\/h3><\/dt>\n<dd><p>This plugin runs entirely on your local server. It does not load external assets or store tracking cookies on your site. For developer telemetry and insights, please refer to the Credits section below.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. Clean codebase with block editor support, sticky mode, mobile collapse, and detailed styling controls.<\/li>\n<\/ul>","raw_excerpt":"Automatically generate a fully customizable and interactive table of contents block from post headings in the WordPress block editor.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/340465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=340465"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/conicplex"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=340465"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=340465"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=340465"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=340465"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=340465"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=340465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}