{"id":245504,"date":"2025-08-10T13:13:27","date_gmt":"2025-08-10T13:13:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simple-sticky-toc\/"},"modified":"2025-08-10T13:18:44","modified_gmt":"2025-08-10T13:18:44","slug":"simple-sticky-toc","status":"publish","type":"plugin","link":"https:\/\/roh.wordpress.org\/plugins\/simple-sticky-toc\/","author":16681716,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.1","stable_tag":"1.0.1","tested":"6.8.5","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Simple Sticky TOC","header_author":"Pavlo Bondarchuk","header_description":"Lightweight, customizable sticky Table of Contents with shortcode, RTL support, mobile toggle, and theme overrides.","assets_banners_color":"8cb4da","last_updated":"2025-08-10 13:18:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/github.com\/pavlo-bondarchuk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":321,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"bonddesign","date":"2025-08-10 13:18:44"}},"upgrade_notice":{"1.0.1":"<p>Improved compatibility by unifying prefixes, updated contributor info, and cleaned release package from hidden files.<\/p>","1.0.0":"<p>First public release with mobile toggle, RTL support, and theme overrides.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3342297,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3342297,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3342297,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3342297,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3342297,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3342297,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3342297,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3342297,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Sticky TOC on desktop","2":"Toggleable TOC on mobile","3":"Admin panel for depth control","4":"TOC layout in RTL mode"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[7204,19897,4007,10851,10852],"plugin_category":[],"plugin_contributors":[192093],"plugin_business_model":[],"class_list":["post-245504","plugin","type-plugin","status-publish","hentry","plugin_tags-anchor","plugin_tags-headings","plugin_tags-sticky","plugin_tags-table-of-contents","plugin_tags-toc","plugin_contributors-bonddesign","plugin_committers-bonddesign"],"banners":{"banner":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/banner-772x250.jpg?rev=3342297","banner_2x":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/banner-1544x500.jpg?rev=3342297","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/icon-128x128.jpg?rev=3342297","icon_2x":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/icon-256x256.jpg?rev=3342297","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/screenshot-1.jpg?rev=3342297","caption":"Sticky TOC on desktop"},{"src":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/screenshot-2.jpg?rev=3342297","caption":"Toggleable TOC on mobile"},{"src":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/screenshot-3.jpg?rev=3342297","caption":"Admin panel for depth control"},{"src":"https:\/\/ps.w.org\/simple-sticky-toc\/assets\/screenshot-4.jpg?rev=3342297","caption":"TOC layout in RTL mode"}],"raw_content":"<!--section=description-->\n<p>Simple Sticky TOC automatically generates a sticky table of contents for single posts or pages by parsing <code>&lt;h2&gt;<\/code>, <code>&lt;h3&gt;<\/code>, and <code>&lt;h4&gt;<\/code> tags. It is lightweight, mobile-friendly, and works without jQuery.<\/p>\n\n<p><strong>Features:<\/strong>\n- Automatically detects and anchors h2\u2013h4 headings\n- Sticky TOC with vertical layout on desktop\n- Sticky toggleable TOC on mobile\n- Built-in RTL support (positioning + layout)\n- Option to disable TOC on individual posts\n- Option to customize TOC layout from your theme\n- Auto-generated anchor IDs for headings\n- Clean CSS, pure JavaScript, no jQuery<\/p>\n\n<h3>Theme Override Support<\/h3>\n\n<p>To override the default markup or styles:<\/p>\n\n<ol>\n<li><p>Copy the default template files from the plugin:<\/p>\n\n<ul>\n<li><code>frontend\/partials\/toc-template.php<\/code><\/li>\n<li><code>assets\/css\/toc.css<\/code><\/li>\n<li><code>assets\/js\/toc.js<\/code><\/li>\n<\/ul><\/li>\n<li><p>Paste them into your theme inside the following folder:<\/p>\n\n<ul>\n<li><code>your-theme\/simple-sticky-toc\/<\/code><\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p>Supported override files:<\/p>\n\n<ul>\n<li><code>simple-sticky-toc\/toc-template.php<\/code> \u2013 custom TOC markup<\/li>\n<li><code>simple-sticky-toc\/toc.css<\/code> \u2013 custom styles<\/li>\n<li><code>simple-sticky-toc\/toc.js<\/code> \u2013 custom JS behavior<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>The TOC will appear automatically above your post content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='can%20i%20choose%20which%20heading%20levels%20are%20used%3F'><h3>Can I choose which heading levels are used?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings \u2192 BNDDSGN_Simple Sticky TOC<\/strong> and select the depth (h2, h2\u2013h3, or h2\u2013h4).<\/p><\/dd>\n<dt id='can%20i%20disable%20toc%20on%20some%20posts%3F'><h3>Can I disable TOC on some posts?<\/h3><\/dt>\n<dd><p>Yes, there's a checkbox in the post editor sidebar to disable it per-post.<\/p><\/dd>\n<dt id='can%20i%20change%20the%20layout%20or%20style%3F'><h3>Can I change the layout or style?<\/h3><\/dt>\n<dd><p>Yes, copy <code>toc-template.php<\/code>, <code>toc.css<\/code>, or <code>toc.js<\/code> into your theme folder (<code>simple-sticky-toc\/<\/code>) and customize freely.<\/p><\/dd>\n<dt id='is%20this%20plugin%20compatible%20with%20rtl%20sites%3F'><h3>Is this plugin compatible with RTL sites?<\/h3><\/dt>\n<dd><p>Yes, it automatically adjusts alignment and layout.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20block%20themes%20%28fse%29%3F'><h3>Does it work with block themes (FSE)?<\/h3><\/dt>\n<dd><p>Yes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Unified unique prefixes for all plugin functions, classes, constants, and options to prevent conflicts.<\/li>\n<li>Updated Contributors field to <code>bonddesign<\/code>.<\/li>\n<li>Updated Stable tag to match the release version.<\/li>\n<li>Removed macOS hidden files (<code>.DS_Store<\/code>, <code>__MACOSX<\/code>) from the distribution package.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Auto-injects sticky TOC from headings (h2\u2013h4)<\/li>\n<li>Responsive layout with sticky toggle button on mobile<\/li>\n<li>Per-post disable option<\/li>\n<li>Customizable template, CSS, and JS via theme override<\/li>\n<li>RTL support for layout and direction<\/li>\n<li>Clean structure (no jQuery)<\/li>\n<\/ul>","raw_excerpt":"Lightweight sticky table of contents for mobile and desktop. Automatically generates anchor links for h2\u2013h4 headings. No jQuery.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/245504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=245504"}],"author":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bonddesign"}],"wp:attachment":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=245504"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=245504"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=245504"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=245504"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=245504"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=245504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}