{"id":375309,"date":"2026-10-02T05:46:18","date_gmt":"2026-10-02T05:46:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/toc-linker\/"},"modified":"2026-10-02T05:45:47","modified_gmt":"2026-10-02T05:45:47","slug":"raoa-toc-linker","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/raoa-toc-linker\/","author":23442414,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Raoa ToC Linker","header_author":"RaoaTech","header_description":"Automatically generate a table of contents from headings in your posts and pages. Supports auto-insert, shortcode, and a sidebar widget.","assets_banners_color":"dae3f8","last_updated":"2026-10-02 05:45:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/raoatech.ca\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":62,"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":"raoatech","date":"2026-10-02 05:45:47","revision":3724192}},"upgrade_notice":{"1.0.0":"<p>Initial release of Raoa ToC Linker.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3724192,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3724208,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3724208,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3724192,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3724192,"resolution":"1","location":"assets","locale":"","width":1905,"height":1048},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3724192,"resolution":"2","location":"assets","locale":"","width":1905,"height":814},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3724192,"resolution":"3","location":"assets","locale":"","width":1208,"height":684}},"screenshots":{"1":"Settings \u2014 General tab: post types, heading levels, and auto-insert.","2":"Settings \u2014 Appearance tab: themes, colors, and counters.","3":"Table of contents on a blog post."}},"plugin_section":[],"plugin_tags":[148076,19897,1753,10851,10852],"plugin_category":[43],"plugin_contributors":[257520],"plugin_business_model":[],"class_list":["post-375309","plugin","type-plugin","status-publish","hentry","plugin_tags-gutenberg","plugin_tags-headings","plugin_tags-navigation","plugin_tags-table-of-contents","plugin_tags-toc","plugin_category-customization","plugin_contributors-raoatech","plugin_committers-raoatech"],"banners":{"banner":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/banner-772x250.png?rev=3724192","banner_2x":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/banner-1544x500.png?rev=3724208","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/icon-128x128.png?rev=3724192","icon_2x":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/icon-256x256.png?rev=3724208","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/screenshot-1.png?rev=3724192","caption":"Settings \u2014 General tab: post types, heading levels, and auto-insert."},{"src":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/screenshot-2.png?rev=3724192","caption":"Settings \u2014 Appearance tab: themes, colors, and counters."},{"src":"https:\/\/ps.w.org\/raoa-toc-linker\/assets\/screenshot-3.png?rev=3724192","caption":"Table of contents on a blog post."}],"raw_content":"<!--section=description-->\n<p>Raoa ToC Linker makes long-form WordPress content easier to scan. It reads headings from rendered post content, assigns stable anchor IDs, and builds a navigable table of contents.<\/p>\n\n<p>You can insert the table of contents automatically, place it with a shortcode, or show it in a sidebar widget. Authors can override behavior per post. Readers get smooth scrolling, optional URL hashes, a collapsible list, and widget highlighting for the section in view.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Automatic heading detection from rendered HTML (<code>the_content<\/code>)<\/li>\n<li>Compatible with the Classic Editor, the block editor, and Elementor output (no Elementor PHP dependency)<\/li>\n<li>Auto-insert before the first heading, after the first paragraph, or after a chosen paragraph<\/li>\n<li>Shortcode <code>[raoa_toc_linker]<\/code> with attributes for title, levels, theme, and more<\/li>\n<li>Sidebar widget with optional sticky positioning and active-section highlight<\/li>\n<li>Appearance presets (Default, Minimal, Bordered, Dark, Custom colors)<\/li>\n<li>Hierarchical or flat lists, optional counters, collapsible toggle<\/li>\n<li>Per-post enable, heading levels, and insert mode (Classic meta box and block editor)<\/li>\n<li>Smooth scroll with offset, optional URL hashes, and respect for reduced motion<\/li>\n<li>Developer actions, filters, and helper functions<\/li>\n<\/ul>\n\n<h4>Shortcode<\/h4>\n\n<pre><code>[raoa_toc_linker]\n<\/code><\/pre>\n\n<p>Optional attributes include <code>title<\/code>, <code>levels<\/code>, <code>hierarchical<\/code>, <code>counter<\/code>, <code>theme<\/code>, <code>collapsible<\/code>, <code>hidden<\/code>, <code>smooth_scroll<\/code>, <code>anchors<\/code>, <code>offset<\/code>, <code>class<\/code>, and <code>label<\/code>.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>Raoa ToC Linker does not send data to remote services. It does not track readers. Settings are stored in the WordPress options table; per-post overrides are stored as post meta.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>raoa-toc-linker<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress Plugins screen.<\/li>\n<li>Activate Raoa ToC Linker through the Plugins screen.<\/li>\n<li>Go to Settings \u2192 Raoa ToC Linker to choose post types, heading levels, appearance, and behavior.<\/li>\n<li>Publish a post with at least two headings (h2\u2013h4 by default). The table of contents appears before the first heading on enabled post types.<\/li>\n<li>Optionally add the <strong>Raoa ToC Linker Table of Contents<\/strong> widget, or place <code>[raoa_toc_linker]<\/code> in the content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20is%20the%20table%20of%20contents%20not%20showing%3F\"><h3>Why is the table of contents not showing?<\/h3><\/dt>\n<dd><p>Confirm the post type is enabled under Settings \u2192 Raoa ToC Linker \u2192 General, that the post has at least the minimum number of matching headings, and that it is not disabled in the per-post Raoa ToC Linker panel. The theme template must call <code>the_content()<\/code> for the main content.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes, when Elementor headings render as <code>h1<\/code>\u2013<code>h6<\/code> in the content output. The plugin does not require Elementor PHP classes.<\/p><\/dd>\n<dt id=\"can%20i%20use%20only%20the%20sidebar%20widget%3F\"><h3>Can I use only the sidebar widget?<\/h3><\/dt>\n<dd><p>Yes. Turn off auto-insert in settings and do not add the shortcode. Add the Raoa ToC Linker widget to a sidebar or as a Legacy Widget in the block widgets screen.<\/p><\/dd>\n<dt id=\"does%20it%20collect%20personal%20data%20or%20phone%20home%3F\"><h3>Does it collect personal data or phone home?<\/h3><\/dt>\n<dd><p>No. There are no remote requests, analytics, or tracking.<\/p><\/dd>\n<dt id=\"how%20do%20i%20exclude%20headings%3F\"><h3>How do I exclude headings?<\/h3><\/dt>\n<dd><p>Add the exclude CSS class (default <code>raoa-toc-linker-exclude<\/code>) to a container. Headings inside <code>nav<\/code>, <code>aside<\/code>, <code>footer<\/code>, and <code>header<\/code> are skipped automatically. Developers can also filter <code>raoa_toc_linker_parsed_headings<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20hide%20the%20table%20of%20contents%20on%20one%20post%3F\"><h3>How do I hide the table of contents on one post?<\/h3><\/dt>\n<dd><p>Edit the post and set Enable table of contents to No in the Raoa ToC Linker panel (Classic meta box or block editor document sidebar).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Automatically Generate a Table of Contents for Posts and Pages. Supports auto-insert, shortcode, and a sidebar widget.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/375309","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=375309"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/raoatech"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=375309"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=375309"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=375309"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=375309"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=375309"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=375309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}