[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fI-5JTL696HdBA7LfDd7pBGlTRaUWd-CSAFZB5hYqSog":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":130,"fingerprints":897},"digital-table-of-contents","Digital Table of Contents","1.0.6","amanstacker","https:\u002F\u002Fprofiles.wordpress.org\u002Famanstacker\u002F","\u003Cp>\u003Cstrong>Digital Table of Contents\u003C\u002Fstrong> is a powerful yet lightweight modular TOC (Table of Contents) system that helps you effortlessly generate and manage tables of contents across your website.\u003C\u002Fp>\n\u003Cp>Built to be bloat free and efficient, Digital TOC focuses on performance, flexibility, and simplicity. Its modular structure ensures a clean, well organized settings panel, allowing you to enable only the features you need.\u003C\u002Fp>\n\u003Cp>Gain full control over styling, behavior, and placement, all from one intuitive dashboard. Customize colors, typography, icons, and toggle behavior without touching any code.\u003C\u002Fp>\n\u003Cp>The built in \u003Cstrong>Live Preview\u003C\u002Fstrong> feature lets you see your design changes instantly. No need to rely on your website theme or reload pages. You don’t have to depend on any theme styling or pre built TOC designs. Simply customize everything live, save your settings, and make it truly your own.\u003C\u002Fp>\n\u003Cp>This is not just another TOC plugin. It’s a complete content organization system designed for creators who care about precision and performance. Once you try it, you’ll love how effortlessly you can create a visually appealing, user-friendly table of contents that perfectly fits your site’s style.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Modular TOC System\u003C\u002Fstrong>: Each major TOC feature is separated into its own module for better management and flexibility. Comes with a dedicated settings panel for full control — ensuring smooth operation without conflicts and making it stand out from other plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live Preview\u003C\u002Fstrong>: Instantly see your TOC design changes as you customize, without relying on reloading pages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto Insertion of TOC\u003C\u002Fstrong>: Automatically insert a table of contents across all post types with a single setup.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible TOC Positioning\u003C\u002Fstrong>: Choose where to place the TOC — before the first heading, after the first heading, top of the content, bottom of the content, or after a specific paragraph number.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Heading Hierarchy Support\u003C\u002Fstrong>: Automatically generate a hierarchical TOC based on headings from H1 to H6.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Placement Controls\u003C\u002Fstrong>: Display the TOC on specific post types, individual posts, selected categories, and more — with options to exclude specific posts or pages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Paginated TOC support\u003C\u002Fstrong>: Fully compatible with the \u003Ccode>\u003C!--nextpage-->\u003C\u002Fcode> tag, creating individual or combine TOCs for each page of your split content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smooth Scrolling\u003C\u002Fstrong>: Enables a seamless and fluid scroll experience when navigating through the table of contents, enhancing overall user experience.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accessibility Attributes\u003C\u002Fstrong>:  Adds essential ARIA and semantic HTML attributes to ensure the table of contents is fully accessible to screen readers and assistive technologies.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rendering Style   \u003C\u002Fstrong>: Choose between CSS-based (lightweight and fast with basic interactions) or JavaScript-based rendering (more interactive and dynamic behavior) depending on your performance and functionality needs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Header Icon Options\u003C\u002Fstrong>: Choose from various icon styles like List Icon (☰), Show\u002FHide, Plus (+)\u002FMinus (−), or even use a custom icon of your choice.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full Customization\u003C\u002Fstrong>: No need to rely on predefined designs — easily customize colors, styles, icons, backgrounds, links, titles, borders, and much more. Hassle-free, giving you the freedom to create almost any type of table of contents design.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom CSS\u003C\u002Fstrong>: If the built-in customization options aren’t sufficient, you can add your own CSS directly in the provided Custom CSS box.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Jump Links Control\u003C\u002Fstrong>: Option to generate a TOC without clickable jump links, ideal for visual structure without navigation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight & Performance-Friendly\u003C\u002Fstrong>: Built for speed and efficiency, the plugin is optimized to have minimal impact on your site’s load time and overall performance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import \u002F Export\u003C\u002Fstrong>: Easily back up or transfer your TOC settings and configurations between sites with the one-click import\u002Fexport feature.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete Plugin Data & Reset\u003C\u002Fstrong>: Option to remove all Digital Table of Contents plugin data from the database when Digital Table of Contents plugin is uninstalled, ensuring a clean removal.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fast Help & Support\u003C\u002Fstrong>: Facing issues or unable to find a feature in Digital Table of Contents? Our team is available 24\u002F7 to assist you and resolve bugs or concerns as quickly as possible.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Shortcode:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Turn on the Shortcode Module to unlock a powerful, beginner-friendly WordPress Table of Contents shortcode builder — no coding required. Forget manually typing or memorizing shortcode parameters; simply open the shortcode settings panel and start customizing your TOC design, layout, and behavior.\u003C\u002Fp>\n\u003Cp>As you adjust the settings, a real-time live preview instantly shows you exactly how your Table of Contents will appear, allowing you to fine-tune headings, styles, toggle options, icons, and more. This visual approach ensures you get the perfect look before placing it on your site.\u003C\u002Fp>\n\u003Cp>When you’re happy with the configuration, the plugin automatically generates a fully-parameterized TOC shortcode in the Shortcode Source tab. Just copy and paste it anywhere — inside posts, pages, widgets, or even custom templates — and your Table of Contents will appear exactly as previewed.\u003C\u002Fp>\n\u003Cp>With default settings, just use [digital_toc] for a quick, clean, and fully functional Table of Contents without any extra setup.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available Modules :\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>In-Content\u003C\u002Fstrong>\u003Cstrong> : Embed the table of contents directly within your post or page content for seamless navigation.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>In-Content Mobile\u003C\u002Fstrong>\u003Cstrong> : Optimized version of In-Content specifically designed for mobile devices.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Shortcode\u003C\u002Fstrong>\u003Cstrong> : Easily insert the TOC anywhere using a simple shortcode, giving you full placement flexibility.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Sliding Sticky\u003C\u002Fstrong>\u003Cstrong> : A sticky TOC that stays hidden and slides in from the left or right when toggled. Best for users who want to save space and show TOC only when needed.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Sliding Sticky Mobile\u003C\u002Fstrong>\u003Cstrong> : A sticky TOC that stays hidden and slides in from the Bottom to Topp or Top to Bottom when toggled. Best for users who want to save space and show TOC only when needed.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>✅ \u003Cstrong>Floating\u003C\u002Fstrong>\u003Cstrong> : A Floating TOC is a movable, draggable, or collapsible navigation element that isn’t fixed, allowing repositioning and enhanced interaction\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin is inspired by and pays credit to the following projects:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-table-of-contents\u002F\" rel=\"ugc\">Easy Table of Contents\u003C\u002Fa>  \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftable-of-contents-plus\u002F\" rel=\"ugc\">Table of Contents Plus\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Third-party Libraries Used:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Face.c9.io\u002F\" rel=\"nofollow ugc\">Ace Editor\u003C\u002Fa> – for code editing interface in custom CSS  \u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fselect2.org\u002F\" rel=\"nofollow ugc\">Select2\u003C\u002Fa> – for enhanced select dropdowns\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003C\u002Fp>\n\u003Ch3>Support & Feedback\u003C\u002Fh3>\n\u003Cp>For support or suggestions, visit the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdigital-table-of-contents\" rel=\"ugc\">Support Forum\u003C\u002Fa>.\u003Cbr \u002F>\nContribute or view the source on GitHub: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Famanstacker\u002Fdigital-table-of-contents\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Famanstacker\u002Fdigital-table-of-contents\u003C\u002Fa>\u003Cbr \u002F>\nLove the plugin? \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fpaypalme\u002Famanstacker\" rel=\"nofollow ugc\">Support development with a donation\u003C\u002Fa>\u003C\u002Fp>\n","A powerful and customizable TOC plugin. Effortlessly navigate your content with advanced features and flexible styling.",0,964,"2025-12-24T17:46:00.000Z","6.9.4","5.0","7.4",[18,19,20,21,22],"headings","navigation","sticky-toc","table-of-contents","toc","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdigital-table-of-contents.1.0.6.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":25,"avg_security_score":25,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},3,30,94,"2026-04-04T08:20:50.867Z",[35,49,64,87,110],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":11,"downloaded":43,"rating":11,"num_ratings":11,"last_updated":23,"tested_up_to":14,"requires_at_least":15,"requires_php":44,"tags":45,"homepage":23,"download_link":47,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":48},"protos-toc-generator","Protos TOC Generator","2.8","Protos Software","https:\u002F\u002Fprofiles.wordpress.org\u002Fgireeshtekale\u002F","\u003Cp>\u003Cstrong>Protos TOC Generator\u003C\u002Fstrong> automatically creates a Table of Contents for your posts and pages by scanning for heading tags (\u003Ccode>\u003Ch1>\u003C\u002Fcode> to \u003Ccode>\u003Ch6>\u003C\u002Fcode>). It adds anchor links for smooth navigation within long articles.\u003C\u002Fp>\n\u003Cp>Features:\u003Cbr \u002F>\n– Automatically injects a TOC before the first heading\u003Cbr \u002F>\n– Smooth scrolling to heading sections\u003Cbr \u002F>\n– Supports heading levels h1 to h6\u003Cbr \u002F>\n– SEO-friendly anchor links\u003Cbr \u002F>\n– Easy styling and customization\u003Cbr \u002F>\n– Lightweight and no settings page\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003C\u002Fp>\n","Auto-generates a floating or inline table of contents with anchor links based on headings in your post. Improves readability and SEO.",401,"7.2",[18,19,46,21,22],"seo","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprotos-toc-generator.2.8.zip","2026-03-15T10:48:56.248Z",{"slug":50,"name":51,"version":52,"author":53,"author_profile":54,"description":55,"short_description":56,"active_installs":11,"downloaded":57,"rating":11,"num_ratings":11,"last_updated":58,"tested_up_to":14,"requires_at_least":59,"requires_php":16,"tags":60,"homepage":62,"download_link":63,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"supplyist-toc-block","Supplyist TOC Block","1.0.0","suppress","https:\u002F\u002Fprofiles.wordpress.org\u002Fsuppress\u002F","\u003Cp>Add the \u003Cstrong>Table of Contents Block\u003C\u002Fstrong> anywhere in your Gutenberg editor. It scans H2–H6 headings in the post content and builds a nested, clickable table of contents. Links automatically work by adding IDs to headings.\u003C\u002Fp>\n\u003Cp>No configuration needed. Works on single posts and pages (not archives or category listings).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No theme editing required\u003Cbr \u002F>\nYou can activate the plugin on any site.\u003C\u002Fli>\n\u003Cli>Compatible with Gutenberg \u002F Classic Editor\u003Cbr \u002F>\nIt processes the final rendered HTML.\u003C\u002Fli>\n\u003Cli>SEO-friendly\u003Cbr \u002F>\nIDs are based on sanitize_title(), the same function WP uses for slugs.\u003C\u002Fli>\n\u003Cli>Works with headings that already have IDs\u003Cbr \u002F>\nIt does not overwrite existing IDs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Example:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Structure Your Content – Write your post or page using semantic headings (H2, H3, etc.)—just like you normally would.\u003Cbr \u002F>\n– Insert the Table of Contents Block – Add the “Table of Contents Block” anywhere in your editor (e.g., right after the introduction).\u003Cbr \u002F>\n– Let It Work Automatically – The plugin scans your headings, builds a hierarchical, scroll-linked table of contents in real time, and updates dynamically as you edit.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Server-side generated Table of Contents\u003C\u002Fli>\n\u003Cli>Automatically detects H2–H6 headings\u003C\u002Fli>\n\u003Cli>Generates nested lists based on heading hierarchy\u003C\u002Fli>\n\u003Cli>Automatically adds IDs to headings when missing\u003C\u002Fli>\n\u003Cli>Lightweight and simple\u003C\u002Fli>\n\u003Cli>Useful for:\n\u003Cul>\n\u003Cli>Adding a Table of Contents to a post or page\u003C\u002Fli>\n\u003Cli>Generating heading IDs\u003C\u002Fli>\n\u003Cli>Linking to sections within content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why use this plugin?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Smart Parsing: Supports H2 through H6 headings\u003C\u002Fli>\n\u003Cli>Clean Output: Uses standard HTML lists for maximum theme compatibility\u003C\u002Fli>\n\u003Cli>Non-intrusive: Does not modify existing heading IDs\u003C\u002Fli>\n\u003Cli>Lightweight & Fast\u003C\u002Fli>\n\u003C\u002Ful>\n","A simple Gutenberg block that automatically generates a nested table of contents from post headings.",73,"2026-03-10T06:22:00.000Z","6.0",[61,18,19,21,22],"gutenberg-block","https:\u002F\u002Fsupplyist.com\u002Fp\u002Ftoc-block-plugin-for-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsupplyist-toc-block.1.0.0.zip",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":74,"num_ratings":75,"last_updated":76,"tested_up_to":77,"requires_at_least":78,"requires_php":79,"tags":80,"homepage":82,"download_link":83,"security_score":84,"vuln_count":85,"unpatched_count":11,"last_vuln_date":86,"fetched_at":27},"luckywp-table-of-contents","LuckyWP Table of Contents","2.1.14","LuckyWP","https:\u002F\u002Fprofiles.wordpress.org\u002Ftheluckywp\u002F","\u003Cp>Creates SEO-friendly table of contents for your posts, pages or custom post types. Great customizable appearance.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatical insertion a table of contents (configure post types and position).\u003C\u002Fli>\n\u003Cli>SEO-friendly: table of contents code is ready to use by Google for snippets on result page.\u003C\u002Fli>\n\u003Cli>Insert by shortcode, Gutenberg block or widget.\u003C\u002Fli>\n\u003Cli>Button on toolbar of the classic editor.\u003C\u002Fli>\n\u003Cli>Gutenberg block into “Common Blocks”.\u003C\u002Fli>\n\u003Cli>Setting the minimum number of headings to display table of contents.\u003C\u002Fli>\n\u003Cli>Setting the depth of headings for table of contents.\u003C\u002Fli>\n\u003Cli>Skip headings by level or text.\u003C\u002Fli>\n\u003Cli>Hierarchical or linear view.\u003C\u002Fli>\n\u003Cli>Numeration items: decimal or roman numbers in order or nested.\u003C\u002Fli>\n\u003Cli>Customizable appearance: width, float, title font size and weight, items font size, colors.\u003C\u002Fli>\n\u003Cli>Color schemes (dark, light, white, transparent, inherit from theme) and the ability to override colors.\u003C\u002Fli>\n\u003Cli>Toggle Show\u002FHide (optionally)\u003C\u002Fli>\n\u003Cli>Customizable labels.\u003C\u002Fli>\n\u003Cli>Smooth scroll (optionally).\u003C\u002Fli>\n\u003Cli>Setting offset top for smooth scroll.\u003C\u002Fli>\n\u003Cli>Wrap table of contents with \u003C!–noindex–> tag (optionally).\u003C\u002Fli>\n\u003Cli>Pretty hash in URL (like \u003Ccode>example.com\u002Ffaq\u002F#how_do_this\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>RTL support.\u003C\u002Fli>\n\u003Cli>Available override global settings for a particular post.\u003C\u002Fli>\n\u003Cli>Highly compatible with WordPress themes and plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Auto Insert\u003C\u002Fh4>\n\u003Cp>For automatical insertion a table of contents in a posts, select option “Auto Insert Table of Contents” in the plugin settings (tab “Auto Insert”).\u003C\u002Fp>\n\u003Cp>Supported positions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>before first heading;\u003C\u002Fli>\n\u003Cli>after first heading;\u003C\u002Fli>\n\u003Cli>after first block (paragraph or heading);\u003C\u002Fli>\n\u003Cli>top of post content;\u003C\u002Fli>\n\u003Cli>bottom of post content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also select post types to which the table of contents will be automatically added.\u003C\u002Fp>\n\u003Ch4>Manual Insert\u003C\u002Fh4>\n\u003Cp>For manual insertion a table of content in a posts, use one of the ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>button “Table of Contents” on toolbar in classic editor;\u003C\u002Fli>\n\u003Cli>gutenberg block “Table of Contents”;\u003C\u002Fli>\n\u003Cli>shortcode \u003Ccode>[lwptoc]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pretty hash in URL\u003C\u002Fh4>\n\u003Cp>By default, hash generated as heading text (for example, \u003Ccode>#How_Do_This\u003C\u002Fcode>). You can change hash format in global settings, tab “Misc.”.\u003C\u002Fp>\n\u003Cp>For non-English websites it is recommended to enable the \u003Ccode>Intl\u003C\u002Fcode> PHP extension.\u003C\u002Fp>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cp>LuckyWP Table of Contents was successfully tested with the following plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Elementor Page Builder\u003C\u002Fli>\n\u003Cli>Beaver Builder and Beaver Builder Themer Add-On\u003C\u002Fli>\n\u003Cli>WPBakery Page Builder\u003C\u002Fli>\n\u003Cli>Oxygen\u003C\u002Fli>\n\u003Cli>WordPress Multilingual Plugin (WPML), \u003Ca href=\"https:\u002F\u002Fwpml.org\u002Fplugin\u002Fluckywp-table-of-contents\u002F\" rel=\"nofollow ugc\">officially confirmed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Rank Math, \u003Ca href=\"https:\u002F\u002Frankmath.com\u002Fcompatibility\u002Fluckywp-table-of-contents\u002F\" rel=\"nofollow ugc\">officially confirmed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>WP Rocket\u003C\u002Fli>\n\u003Cli>Toolset Views and Toolset Access\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Ch4>Filters \u003Ccode>lwptoc_before\u003C\u002Fcode>, \u003Ccode>lwptoc_after\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use for add custom HTML before\u002Fafter the table of contents.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_before', function ($before) {\n    return '\u003Cp>Example text before TOC.\u003C\u002Fp>' . $before;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter \u003Ccode>lwptoc_shortcode_tag\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use this filter for change shortcode tag name \u003Ccode>[lwptoc]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_shortcode_tag', function ($tag) {\n    return 'toc';\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter \u003Ccode>lwptoc_heading_id\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use for modify heading ID.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_heading_id', function ($id, $label) {\n    return $id;\n}, 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Creates SEO-friendly table of contents for your posts\u002Fpages. Works automatically or manually (via shortcode, Gutenberg block or widget).",100000,1111608,98,875,"2025-04-16T10:13:00.000Z","6.7.5","4.7","5.6.20",[81,19,46,21,22],"links","https:\u002F\u002Ftheluckywp.com\u002Fproduct\u002Ftable-of-contents\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fluckywp-table-of-contents.2.1.14.zip",97,5,"2025-04-02 00:00:00",{"slug":88,"name":89,"version":90,"author":91,"author_profile":92,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":97,"num_ratings":98,"last_updated":99,"tested_up_to":100,"requires_at_least":101,"requires_php":102,"tags":103,"homepage":106,"download_link":107,"security_score":74,"vuln_count":108,"unpatched_count":11,"last_vuln_date":109,"fetched_at":27},"rich-table-of-content","Rich Table of Contents","1.4.3","Croover.inc","https:\u002F\u002Fprofiles.wordpress.org\u002Fryota0101\u002F","\u003Cp>RTOC is a table of contents generation plugin from Japan that allows anyone to easily create a table of contents. Equipped with the functions of the conventional table of contents plugin, it is designed to thoroughly pursue design and ease of use.\u003Cbr \u002F>\nIntroducing a real-time preview with an intuitive UI design allows you to create an ideal table of contents with a single button.It is definitely a plus factor for your blog or site.RTOC is easy to use, so please use it.\u003C\u002Fp>\n\u003Ch3>Install\u003C\u002Fh3>\n\u003Cp>【How to automatically install from the WordPress admin screen】\u003Cbr \u002F>\n    ①Click “Plugins” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Add New” from the WordPress administration screen.\u003Cbr \u002F>\n    ②Type “Rich Table of Contents” in the new search box.\u003Cbr \u002F>③Activate after installation\n\u003C\u002Fp>\n\u003Cp>\u003C\u002Fp>\n\u003Cp>【How to install manually using FTP etc.】\u003Cbr \u002F>\n①Download this plugin from WordPress.org（There is a button called “Download” on the right side of the plugin title on this page, so download from there）\u003Cbr \u002F>②Unzip the zip file called “rich-table-of-content” and download it to the \u002F wp-content \u002F plugins \u002F directory.\u003Cbr \u002F>③Click the plugin from the WordPress administration screen and click Activate.\u003C\u002Fp>\n\u003Ch3>Basic settings\u003C\u002Fh3>\n\u003Cp>Configure the basic settings for the table of contents.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Table of contents title: You can freely decide the title of the table of contents.\u003C\u002Fli>\n\u003Cli>Auto insert for the following content types: You can decide whether to show the table of contents on posts and pages.\u003C\u002Fli>\n\u003Cli>Heading to be displayed: Set which heading (h2, h3, h4) to display.\u003C\u002Fli>\n\u003Cli>Display conditions: Set the number of headings to display the table of contents.\u003C\u002Fli>\n\u003Cli>Font: Set font.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Design settings\u003C\u002Fh3>\n\u003Cp>You can freely set the table of contents design.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title display: Set whether the title position is left or center.\u003C\u002Fli>\n\u003Cli>H2 list design: Set the H2 list design.\u003C\u002Fli>\n\u003Cli>H3 list design: Set the H3 list design.\u003C\u002Fli>\n\u003Cli>Frame design: Sets the table of contents frame design.\u003C\u002Fli>\n\u003Cli>Animation: Set the animation when the table of contents is displayed。\u003C\u002Fli>\n\u003Cli>Smooth scroll   : Set whether to scroll to the headline when clicking (tapping) the table of contents.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Preset color settings\u003C\u002Fh3>\n\u003Cp>RTOC color preset added by default. Choose and set the preset that suits your site.\u003C\u002Fp>\n\u003Ch3>Color settings(For advanced users)\u003C\u002Fh3>\n\u003Cp>In addition to the preset colors, you can set your own colors. If you want to set your own color or modify the preset color partially, please change the color here.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title color: Set the title color.\u003C\u002Fli>\n\u003Cli>Text color: Set the text color.\u003C\u002Fli>\n\u003Cli>Back color: Set the back color.\u003C\u002Fli>\n\u003Cli>Border color: Set the border color.\u003C\u002Fli>\n\u003Cli>H2 list color: Set the H2 list color.\u003C\u002Fli>\n\u003Cli>H3 list color: Set the H3 list color.\u003C\u002Fli>\n\u003Cli>Back to table of contents button background color: Sets the background color of the back to table of contents button.（Available only when Back to Contents button is enabled）\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced settings\u003C\u002Fh3>\n\u003Cp>If you want to do advanced customization such as the button to return to the table of contents and the exclusion of plugin CSS, please set here.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Button to return to table of contents: (Only for smartphones) Display a button to return to the table of contents.\u003C\u002Fli>\n\u003Cli>Button location to return to table of contents: (Only for smartphones) You can set the button to return to the table of contents to the left or right.\u003C\u002Fli>\n\u003Cli>Up and down adjustment of the button to return to the table of contents: （example -20,40）\u003C\u002Fli>\n\u003Cli>Excluded post ID: You can set posts that you do not want to show the table of contents. Set the table of contents not to be displayed in the article by entering the post article ID separated by commas.（Example 2,3,75）\u003C\u002Fli>\n\u003Cli>Excluded page ID: You can set pages that you do not want to display the table of contents. By entering page IDs separated by commas, you can set the table of contents not to be displayed in articles.（Example 4,6,91）\u003C\u002Fli>\n\u003Cli>Default table of contents settings: Select whether to display the table of contents open or closed.\u003C\u002Fli>\n\u003Cli>Do not load plugin CSS: If checked, all CSS of RTOC will not be read and all design settings will be invalid. If you have customized the table of contents using CSS, JS, etc., please check here and operate.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>RTOC shortcode\u003C\u002Fh3>\n\u003Cp>You can display the table of contents by pasting this code anywhere in the article. If you do not enter a value (such as title = “”) and it is blank, the setting on the management screen will be reflected.\u003Cbr \u002F>\nFor details, see the actual setting screen, so check that.\u003C\u002Fp>\n\u003Ch3>Help\u003C\u002Fh3>\n\u003Cp>If you have any problems, we will be glad to help you contact our support.\u003Cbr \u002F>\nAlso, basic issues are listed in the “Help section” of the plugin, so please look there first.\u003C\u002Fp>\n","RTOC is a table of contents generation plugin from Japan that allows anyone to easily create a table of contents. Equipped with the functions of the c &hellip;",20000,356969,82,17,"2025-04-30T02:45:00.000Z","6.8.5","5.3.2","7.0",[104,105,19,21,22],"cms","indexes","https:\u002F\u002Fcroover.co.jp\u002Frtoc","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frich-table-of-content.1.4.3.zip",2,"2025-04-09 00:00:00",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":74,"num_ratings":120,"last_updated":121,"tested_up_to":14,"requires_at_least":15,"requires_php":122,"tags":123,"homepage":126,"download_link":127,"security_score":25,"vuln_count":128,"unpatched_count":11,"last_vuln_date":129,"fetched_at":27},"joli-table-of-contents","Joli Table Of Contents","2.8.2","WPJoli","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpjoli\u002F","\u003Cp>Joli Table Of Contents is the best table of contents plugin for WordPress. It is user-friendly and highly customizable, designed with performance in mind, it offers a seamless experience for both users and developers. With features like Gutenberg block support, auto-insert options, and multilingual compatibility, it’s the perfect solution for enhancing your website’s navigation.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpjoli.com\u002Fdocs\u002Fjoli-table-of-contents\u002F\" title=\"Documentation for Joli Table Of Contents\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>⭐HIGHLIGHTS\u003C\u002Fh3>\n\u003Ch3>🆕 GUTENBERG BLOCK\u003C\u002Fh3>\n\u003Cp>Since v2, you can now use the block to insert a table of contents.\u003Cbr \u002F>\nThe block lets you easily \u003Cstrong>HIDE or EDIT\u003C\u002Fstrong> specific headings.\u003Cbr \u002F>\nIn addition, \u003Cstrong>the block picks up on headings that would be generated by a third party shortcode or block\u003C\u002Fstrong> but invisible in the actual editor.\u003Cbr \u002F>\nIn the PRO version, you can override any setting for a specific block from the block settings panel.\u003C\u002Fp>\n\u003Ch3>🚀 PERFORMANCE ORIENTED\u003C\u002Fh3>\n\u003Cp>Joli Table of contents uses a combination of minified CSS and Javascript to run at maximum speed.\u003Cbr \u002F>\nIt also does not depend on jQuery to improve performance.\u003C\u002Fp>\n\u003Ch3>🧠 SUPERIOR HEADING PROCESSING\u003C\u002Fh3>\n\u003Cp>Unlike its competitors, Joli Table of Content picks up on headings hidden behind third-party shortcodes and blocks. This means that it will show the headings that do not directly appear in the editor, but are still present in the front-end !\u003C\u002Fp>\n\u003Ch3>🖌 THE MOST CUSTOMIZABLE TABLE OF CONTENTS PLUGIN\u003C\u002Fh3>\n\u003Cp>Joli table of contents has been designed to really match your expectations.\u003Cbr \u002F>\nEvery single part of the table of contents is highly customizable, and uses a CSS variable approach to make it even more customizable.\u003Cbr \u002F>\nYou can adjust a large array of settings including:\u003Cbr \u002F>\n* Margin\u003Cbr \u002F>\n* Padding\u003Cbr \u002F>\n* Border radius\u003Cbr \u002F>\n* Border\u003Cbr \u002F>\n* Colors\u003Cbr \u002F>\n* Fonts\u003Cbr \u002F>\n* and more…\u003C\u002Fp>\n\u003Ch3>🔽 ICON OR TEXT TOGGLE\u003C\u002Fh3>\n\u003Cp>Choose between a \u003Cstrong>Text toggle\u003C\u002Fstrong> for a more classic look OR an \u003Cstrong>Icon toggle\u003C\u002Fstrong> for a more modern approach.\u003C\u002Fp>\n\u003Ch3>📐 CUSTOM THEME READY\u003C\u002Fh3>\n\u003Cp>Joli Table of contents now bundles a custom theme engine, that lets you \u003Ca href=\"https:\u002F\u002Fwpjoli.com\u002Fdocs\u002Fjoli-table-of-contents\u002Fcustomizing\u002Fcreate-my-own-theme\u002F\" title=\"How to create your own theme for Joli Table of contents\" rel=\"nofollow ugc\">create your own theme\u003C\u002Fa>.\u003Cbr \u002F>\nThere is a lot of CSS variables that you can override or\u002Fand create more complex styles.\u003C\u002Fp>\n\u003Ch3>🚀 SHOW ONLY A FEW HEADINGS UPON PAGE LOAD (PARTIAL FOLD)  [PRO]\u003C\u002Fh3>\n\u003Cp>Improve your page UX with the Partial Fold on load option.\u003Cbr \u002F>\nOnly show the first few headings upon page load with a “View more” button to expand the table of contents fully.\u003C\u002Fp>\n\u003Ch3>📑 ADVANCED AUTO-INSERT RULES [PRO]\u003C\u002Fh3>\n\u003Cp>Auto-insert supports multiple additional rules:\u003Cbr \u002F>\n* Post type\u003Cbr \u002F>\n* Post title\u003Cbr \u002F>\n* Post ID\u003C\u002Fp>\n\u003Cp>You can also EXCLUDE specific posts by Post title or Post ID\u003C\u002Fp>\n\u003Ch3>🎛 DIFFERENT SETTINGS PER POST TYPE [PRO]\u003C\u002Fh3>\n\u003Cp>Create different settings per post type for maximum flexibility.\u003Cbr \u002F>\nFor example you can use Theme 1 for “post” post type, and use Theme 2 for the “page” post types.\u003Cbr \u002F>\nGood news is every single setting can be set differently per post type, not just themes !\u003Cbr \u002F>\nThis also works with custom post types.\u003C\u002Fp>\n\u003Ch3>✅ FLOATING TABLE OF CONTENTS [PRO]\u003C\u002Fh3>\n\u003Cp>The floating table of contents widget is optionally displayed as the user scrolls the page. It remains hover your content and now features optional navigation buttons and advanced customization !\u003C\u002Fp>\n\u003Ch3>✅ SLIDE OUT TABLE OF CONTENTS [PRO]\u003C\u002Fh3>\n\u003Cp>The slide out table of contents widget brings more value to your page and makes it more readable. It shows the table of contents in a fixed position on the side of the screen.\u003C\u002Fp>\n\u003Ch3>✅ PROGRESS BAR WIDGET [PRO]\u003C\u002Fh3>\n\u003Cp>This new widget shows a fixed progress bar over the content and indicates the percentage of advancement throughout the reading.\u003C\u002Fp>\n\u003Ch3>✅ STICKY SIDEBAR TABLE OF CONTENTS [PRO]\u003C\u002Fh3>\n\u003Cp>Use the table of contents in a sidebar widget and have it sticky as the page gets scrolled.\u003C\u002Fp>\n\u003Ch3>📃 Main Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>TOC Title icon (since v2.7.0).\u003C\u002Fli>\n\u003Cli>Customizable Bullet points (since v2.4.0).\u003C\u002Fli>\n\u003Cli>Page break \u003Ccode>\u003C!--nextpage-->\u003C\u002Fcode> support (since v2.3.0).\u003C\u002Fli>\n\u003Cli>Auto-insert table of contents (select post types and position in the content).\u003C\u002Fli>\n\u003Cli>Manual insert table of contents by \u003Cstrong>block\u003C\u002Fstrong> or \u003Cstrong>shortcode\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Hide specific headings (block)\u003C\u002Fli>\n\u003Cli>Edit specific headings (block)\u003C\u002Fli>\n\u003Cli>Folding\u002Funfolding animation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable\u003C\u002Fstrong> Table of Contents \u003Cstrong>Title\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Show headings by custom depth (From \u003Cstrong>\u003Cem>H2\u003C\u002Fem>\u003C\u002Fstrong> to \u003Cstrong>\u003Cem>H6\u003C\u002Fem>\u003C\u002Fstrong>).\u003C\u002Fli>\n\u003Cli>Customizable CSS Icons for expand\u002Fcollapse buttons (4 free icons, 20 in pro version)\u003C\u002Fli>\n\u003Cli>Show TOC only if a minimum of headings has been found in the content (Optional).\u003C\u002Fli>\n\u003Cli>Disable headings per text\u002Fclass\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hierarchical\u003C\u002Fstrong> (amount of empty space customizable) or \u003Cstrong>Flat View\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Multiple numeration options (ex: 1. Title 1; 1.2. Subtitle 2, etc…).\u003C\u002Fli>\n\u003Cli>Pretty hash in the actual URL (ex: mysite.com\u002Fmy-article\u002F#subtitle-2\u003C\u002Fli>\n\u003Cli>Latin & non-latin characters support for hash  [since 1.3.2]\u003C\u002Fli>\n\u003Cli>Multilanguage hash transliteration available (e.g. #История => #istoriya) [since 1.3.3]\u003C\u002Fli>\n\u003Cli>Customizable numeration \u003Cstrong>Separator\u003C\u002Fstrong> (Ex: “.” => “1.1.2”; “-” => “1-1-2”).\u003C\u002Fli>\n\u003Cli>Customizable numeration  \u003Cstrong>Suffix\u003C\u002Fstrong> (Ex: ).” => “1.1.2)”; “\u002F” => “1.1.2\u002F”).\u003C\u002Fli>\n\u003Cli>Customizable Padding, Margin, Borders, etc…\u003C\u002Fli>\n\u003Cli>6 Auto-insert positions available (See below for details).\u003C\u002Fli>\n\u003Cli>Auto-insert to posts and\u002For pages.\u003C\u002Fli>\n\u003Cli>Fully responsive.\u003C\u002Fli>\n\u003Cli>Hide or Show Overflowing Headings when viewport cannot fit the whole title length.\u003C\u002Fli>\n\u003Cli>Smooth scrolling available.\u003C\u002Fli>\n\u003Cli>Customizable TOC Title alignment (left, center, right).\u003C\u002Fli>\n\u003Cli>Customizable TOC Toggle button position (left, right) (when folded).\u003C\u002Fli>\n\u003Cli>Customizable TOC Toggle button: Text\u002FHTML\u002FCustom icons (open & close states).\u003C\u002Fli>\n\u003Cli>Themes included.\u003C\u002Fli>\n\u003Cli>Themes settings can be overriden (Colors, size, etc).\u003C\u002Fli>\n\u003Cli>Customizable Width: Min\u002FMax Width or 100% Width.\u003C\u002Fli>\n\u003Cli>Customizable Font Size, Font Weight.\u003C\u002Fli>\n\u003Cli>Optional Shadow.\u003C\u002Fli>\n\u003Cli>Colors fully customizable (Table of Contents, Title, Headings, Shadow, Numeration).\u003C\u002Fli>\n\u003Cli>Custom CSS available.\u003C\u002Fli>\n\u003Cli>Import \u002F Export settings\u003C\u002Fli>\n\u003Cli>Developer-friendly. Many hooks provided. (See below for details).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Joli Table of contents Pro Features include:\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpjoli.com\u002Fjoli-table-of-contents\u002F\" title=\"Joli Table Of Contents Pro\" rel=\"nofollow ugc\">Get Joli Table Of Contents Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All of the free features.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Type\u003C\u002Fstrong> Support.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Type\u003C\u002Fstrong> Settings.\u003C\u002Fli>\n\u003Cli>Exclusive \u003Cstrong>Floating Widget\u003C\u002Fstrong> that shows the current section.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Slide-out Widget\u003C\u002Fstrong> that shows a fixed table of contents on the side of the screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Additional exclusive themes\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Force \u003Cstrong>Enable\u002FDisable\u003C\u002Fstrong> TOC per post settings.\u003C\u002Fli>\n\u003Cli>Customizable \u003Cstrong>Floating Position\u003C\u002Fstrong> ( Top or Bottom ).\u003C\u002Fli>\n\u003Cli>Customizable \u003Cstrong>Floating Offset\u003C\u002Fstrong> (Horizontally & Vertically).\u003C\u002Fli>\n\u003Cli>Expands on \u003Cstrong>Hover or Click\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Collapses on \u003Cstrong>Leave hover or Click away\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-columns mode\u003C\u002Fstrong> (since 1.1.0).\u003C\u002Fli>\n\u003Cli>Customizable CSS Icons for expand\u002Fcollapse buttons (choose from 20 icons)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Auto-insert\u003C\u002Fh4>\n\u003Cp>The Auto-insert feature is optional and allows to automatically insert the Table of Contents to your content with the following options.\u003C\u002Fp>\n\u003Cp>\u003Cem>Supported post types:\u003C\u002Fem>\u003Cbr \u002F>\n* Post\u003Cbr \u002F>\n* Pages\u003Cbr \u002F>\n* Custom Post Type \u003Cstrong>\u003Cem>[PRO]\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cem>Auto-insert positions:\u003C\u002Fem>\u003Cbr \u002F>\n* Before the content\u003Cbr \u002F>\n* After the content\u003Cbr \u002F>\n* Before H1\u003Cbr \u002F>\n* After H1\u003Cbr \u002F>\n* Before first H2\u003Cbr \u002F>\n* After first paragraph\u003C\u002Fp>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Use the following shortcode within your content to have the table of contents display where you wish to:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[joli-toc]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you were using a different TOC plugin, you can use a different shortcode so that you don’t need to update all of your content:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[toc]\n\n\u002F\u002F Add this code to your theme's functions.php\nadd_filter('jolitoc_shortcode_tag', function(){ return 'toc';});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>🎣 Hooks\u003C\u002Fh3>\n\u003Cp>You can use any of the hooks provided to add custom content to the actual Table Of Contents.\u003Cbr \u002F>\nList of [all the hooks available here](https:\u002F\u002Fwpjoli.com\u002Fdocs\u002Fjoli-table-of-contents\u002Fdeveloper-hooks\u002F”Joli Table Of Contents Hooks”).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Examples & How to use ?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Copy & paste the code examples below into your theme’s functions.php file:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>joli_toc_disable_autoinsert\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Globally disables Joli Table Of Contents site-wide.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('joli_toc_disable_autoinsert', function(){ return true; });\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>\u003Ccode>joli_toc_disable_js\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For some reason if you do not want the js\u002Fcss\u002Finline styles to load (could break functionnalities).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002Fdisables js\nadd_filter('joli_toc_disable_js', function(){ return true; });\n\n\u002F\u002Fdisables css\nadd_filter('joli_toc_disable_styles', function(){ return true; });\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>\u003Ccode>jolitoc_shortcode_tag\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Customizes the shortcode tag ( \u003Cem>Useful if you were using a different plugin before\u003C\u002Fem> ).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('jolitoc_shortcode_tag', function(){ return 'custom-tag';});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Customizes the title (collapse).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('joli_toc_toc_title', 'my_custom_title', 10, 1);\n\nfunction my_custom_title( $title ){ \n    if ($a == $b){\n        $title = \"My Custom TOC Title\";\n    }else{\n        $title = \"My Alternate TOC Title\";\n    }\n\n    return $title;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>⭐ CHECK OUR OTHER PLUGINS\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsmart-auto-featured-image\u002F\" rel=\"ugc\">Smart Auto Featured Image\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fzenform\u002F\" rel=\"ugc\">ZenForm\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjoli-faq-seo\u002F\" rel=\"ugc\">Joli FAQ SEO\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjoli-clear-lightbox\u002F\" rel=\"ugc\">Joli CLEAR Lightbox\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","The Best Table of Contents Plugin for WordPress. User-friendly. Gutenberg Block. Fast & Highly customizable. Auto or manual insert.",7000,124508,40,"2026-01-05T09:03:00.000Z","5.6",[19,124,21,125,22],"page-contents","table-of-content","https:\u002F\u002Fwpjoli.com\u002Fjoli-table-of-contents","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjoli-table-of-contents.2.8.2.zip",1,"2023-01-03 00:00:00",{"attackSurface":131,"codeSignals":257,"taintFlows":850,"riskAssessment":888,"analyzedAt":896},{"hooks":132,"ajaxHandlers":218,"restRoutes":250,"shortcodes":251,"cronEvents":256,"entryPointCount":255,"unprotectedCount":11},[133,140,144,147,150,155,161,164,168,172,175,178,181,185,188,191,194,198,201,205,208,211,214],{"type":134,"name":135,"callback":136,"priority":137,"file":138,"line":139},"action","admin_menu","dtoc_add_menu_links",11,"admin\\class-digital-toc-settings.php",15,{"type":134,"name":141,"callback":142,"file":138,"line":143},"admin_init","dtoc_settings_initiate",16,{"type":134,"name":135,"callback":145,"file":146,"line":85},"dtoc_add_dashboard_menu_links","admin\\dashboard_page.php",{"type":134,"name":141,"callback":148,"file":146,"line":149},"dtoc_dashboard_settings_initiate",170,{"type":134,"name":151,"callback":152,"file":153,"line":154},"admin_enqueue_scripts","dtoc_enqueue_admin_assets","admin\\misc.php",14,{"type":156,"name":157,"callback":158,"file":159,"line":160},"filter","admin_footer","dtoc_deactivation_feedback_modal","feedback\\feedback.php",24,{"type":134,"name":151,"callback":162,"file":159,"line":163},"dtoc_enqueue_feedback_scripts",214,{"type":156,"name":165,"callback":166,"file":167,"line":85},"the_content","dtoc_floating_callback","includes\\floating\\floating.php",{"type":156,"name":169,"callback":170,"priority":171,"file":167,"line":97},"dtoc_regex_filter_incontent","dtoc_regex_heading_include_floating",10,{"type":156,"name":165,"callback":173,"file":174,"line":85},"dtoc_in_content_mobile_callback","includes\\incontent\\in-content-mobile.php",{"type":156,"name":165,"callback":176,"file":177,"line":85},"dtoc_in_content_callback","includes\\incontent\\in-content.php",{"type":156,"name":169,"callback":179,"priority":171,"file":177,"line":180},"dtoc_regex_heading_include",114,{"type":134,"name":182,"callback":183,"file":184,"line":85},"wp_enqueue_scripts","dtoc_floating_modules_enqueue","includes\\misc.php",{"type":134,"name":182,"callback":186,"file":184,"line":187},"dtoc_sliding_sticky_mobile_modules_enqueue",86,{"type":134,"name":182,"callback":189,"file":184,"line":190},"dtoc_sliding_sticky_modules_enqueue",144,{"type":134,"name":182,"callback":192,"file":184,"line":193},"dtoc_incontent_and_shortcode_modules_enqueue",212,{"type":134,"name":195,"callback":196,"file":184,"line":197},"init","dtoc_init_misc",354,{"type":134,"name":195,"callback":199,"file":200,"line":85},"dtoc_init_shortcode","includes\\shortcode\\shortcode.php",{"type":156,"name":202,"callback":203,"priority":171,"file":200,"line":204},"strip_shortcodes_tagnames","dtoc_strip_shortcode_tag",6,{"type":156,"name":165,"callback":206,"file":200,"line":207},"dtoc_in_content_add_jumb_callback",62,{"type":156,"name":165,"callback":209,"file":210,"line":85},"dtoc_sliding_sticky_mobile_callback","includes\\sticky\\sliding-sticky-mobile.php",{"type":156,"name":165,"callback":212,"file":213,"line":85},"dtoc_sliding_sticky_callback","includes\\sticky\\sliding-sticky.php",{"type":134,"name":215,"callback":216,"file":217,"line":85},"plugins_loaded","dtoc_options_init","shared\\functions.php",[219,225,229,233,237,241,243,247],{"action":220,"nopriv":221,"callback":222,"hasNonce":223,"hasCapCheck":221,"file":153,"line":224},"dtoc_categories_action",false,"dtoc_categories_action_fn",true,143,{"action":226,"nopriv":221,"callback":227,"hasNonce":223,"hasCapCheck":223,"file":153,"line":228},"dtoc_update_modules_status","dtoc_update_modules_status_fn",147,{"action":230,"nopriv":221,"callback":231,"hasNonce":223,"hasCapCheck":223,"file":153,"line":232},"dtoc_import_options","dtoc_import_options_ajax",179,{"action":234,"nopriv":221,"callback":235,"hasNonce":223,"hasCapCheck":223,"file":153,"line":236},"dtoc_export_options","dtoc_export_options_ajax",259,{"action":238,"nopriv":221,"callback":239,"hasNonce":223,"hasCapCheck":221,"file":153,"line":240},"dtoc_submit_support","dtoc_handle_support_request",329,{"action":238,"nopriv":223,"callback":239,"hasNonce":223,"hasCapCheck":221,"file":153,"line":242},330,{"action":244,"nopriv":221,"callback":245,"hasNonce":223,"hasCapCheck":223,"file":153,"line":246},"dtoc_reset_options","dtoc_reset_options_cb",332,{"action":248,"nopriv":221,"callback":248,"hasNonce":223,"hasCapCheck":223,"file":159,"line":249},"dtoc_send_feedback",191,[],[252],{"tag":253,"callback":254,"file":200,"line":255},"digital_toc","dtoc_shortcode_callback",9,[],{"dangerousFunctions":258,"sqlUsage":259,"outputEscaping":261,"fileOperations":128,"externalRequests":11,"nonceChecks":255,"capabilityChecks":255,"bundledLibraries":846},[],{"prepared":11,"raw":11,"locations":260},[],{"escaped":262,"rawEcho":263,"locations":264},242,297,[265,269,270,272,273,275,277,279,281,283,285,287,289,291,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,739,741,742,744,745,747,748,750,751,753,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,797,800,802,804,806,808,810,812,813,815,817,819,822,823,824,825,827,828,830,831,832,834,835,837,838,840,842,844],{"file":266,"line":267,"context":268},"admin\\class-digital-toc-posts-metaboxes.php",89,"raw output",{"file":266,"line":32,"context":268},{"file":138,"line":271,"context":268},161,{"file":138,"line":271,"context":268},{"file":138,"line":274,"context":268},168,{"file":138,"line":276,"context":268},169,{"file":138,"line":278,"context":268},171,{"file":138,"line":280,"context":268},173,{"file":138,"line":282,"context":268},175,{"file":138,"line":284,"context":268},202,{"file":138,"line":286,"context":268},211,{"file":138,"line":288,"context":268},220,{"file":138,"line":290,"context":268},231,{"file":138,"line":262,"context":268},{"file":138,"line":293,"context":268},254,{"file":138,"line":295,"context":268},263,{"file":138,"line":297,"context":268},826,{"file":138,"line":299,"context":268},837,{"file":138,"line":301,"context":268},844,{"file":138,"line":303,"context":268},852,{"file":138,"line":305,"context":268},860,{"file":138,"line":307,"context":268},866,{"file":138,"line":309,"context":268},961,{"file":138,"line":311,"context":268},967,{"file":138,"line":313,"context":268},974,{"file":138,"line":315,"context":268},980,{"file":138,"line":317,"context":268},986,{"file":138,"line":319,"context":268},992,{"file":138,"line":321,"context":268},998,{"file":138,"line":323,"context":268},1004,{"file":138,"line":325,"context":268},1010,{"file":138,"line":327,"context":268},1016,{"file":138,"line":329,"context":268},1022,{"file":138,"line":331,"context":268},1028,{"file":138,"line":333,"context":268},1034,{"file":138,"line":335,"context":268},1040,{"file":138,"line":337,"context":268},1046,{"file":138,"line":339,"context":268},1064,{"file":138,"line":341,"context":268},1070,{"file":138,"line":343,"context":268},1071,{"file":138,"line":345,"context":268},1072,{"file":138,"line":347,"context":268},1073,{"file":138,"line":349,"context":268},1077,{"file":138,"line":351,"context":268},1079,{"file":138,"line":353,"context":268},1083,{"file":138,"line":355,"context":268},1085,{"file":138,"line":357,"context":268},1089,{"file":138,"line":359,"context":268},1090,{"file":138,"line":361,"context":268},1091,{"file":138,"line":363,"context":268},1092,{"file":138,"line":365,"context":268},1093,{"file":138,"line":367,"context":268},1095,{"file":138,"line":369,"context":268},1103,{"file":138,"line":371,"context":268},1104,{"file":138,"line":373,"context":268},1105,{"file":138,"line":375,"context":268},1106,{"file":138,"line":377,"context":268},1110,{"file":138,"line":379,"context":268},1112,{"file":138,"line":381,"context":268},1116,{"file":138,"line":383,"context":268},1118,{"file":138,"line":385,"context":268},1122,{"file":138,"line":387,"context":268},1123,{"file":138,"line":389,"context":268},1124,{"file":138,"line":391,"context":268},1125,{"file":138,"line":393,"context":268},1126,{"file":138,"line":395,"context":268},1128,{"file":138,"line":397,"context":268},1137,{"file":138,"line":399,"context":268},1138,{"file":138,"line":401,"context":268},1139,{"file":138,"line":403,"context":268},1144,{"file":138,"line":405,"context":268},1145,{"file":138,"line":407,"context":268},1148,{"file":138,"line":409,"context":268},1149,{"file":138,"line":411,"context":268},1152,{"file":138,"line":413,"context":268},1153,{"file":138,"line":415,"context":268},1156,{"file":138,"line":417,"context":268},1157,{"file":138,"line":419,"context":268},1160,{"file":138,"line":421,"context":268},1161,{"file":138,"line":423,"context":268},1162,{"file":138,"line":425,"context":268},1163,{"file":138,"line":427,"context":268},1164,{"file":138,"line":429,"context":268},1166,{"file":138,"line":431,"context":268},1174,{"file":138,"line":433,"context":268},1175,{"file":138,"line":435,"context":268},1176,{"file":138,"line":437,"context":268},1180,{"file":138,"line":439,"context":268},1181,{"file":138,"line":441,"context":268},1184,{"file":138,"line":443,"context":268},1185,{"file":138,"line":445,"context":268},1188,{"file":138,"line":447,"context":268},1189,{"file":138,"line":449,"context":268},1192,{"file":138,"line":451,"context":268},1193,{"file":138,"line":453,"context":268},1196,{"file":138,"line":455,"context":268},1197,{"file":138,"line":457,"context":268},1198,{"file":138,"line":459,"context":268},1199,{"file":138,"line":461,"context":268},1200,{"file":138,"line":463,"context":268},1202,{"file":138,"line":465,"context":268},1210,{"file":138,"line":467,"context":268},1211,{"file":138,"line":469,"context":268},1212,{"file":138,"line":471,"context":268},1216,{"file":138,"line":473,"context":268},1217,{"file":138,"line":475,"context":268},1220,{"file":138,"line":477,"context":268},1221,{"file":138,"line":479,"context":268},1224,{"file":138,"line":481,"context":268},1225,{"file":138,"line":483,"context":268},1228,{"file":138,"line":485,"context":268},1229,{"file":138,"line":487,"context":268},1232,{"file":138,"line":489,"context":268},1233,{"file":138,"line":491,"context":268},1234,{"file":138,"line":493,"context":268},1235,{"file":138,"line":495,"context":268},1236,{"file":138,"line":497,"context":268},1238,{"file":138,"line":499,"context":268},1245,{"file":138,"line":501,"context":268},1246,{"file":138,"line":503,"context":268},1247,{"file":138,"line":505,"context":268},1248,{"file":138,"line":507,"context":268},1255,{"file":138,"line":509,"context":268},1256,{"file":138,"line":511,"context":268},1257,{"file":138,"line":513,"context":268},1258,{"file":138,"line":515,"context":268},1265,{"file":138,"line":517,"context":268},1266,{"file":138,"line":519,"context":268},1267,{"file":138,"line":521,"context":268},1268,{"file":138,"line":523,"context":268},1275,{"file":138,"line":525,"context":268},1276,{"file":138,"line":527,"context":268},1277,{"file":138,"line":529,"context":268},1278,{"file":138,"line":531,"context":268},1285,{"file":138,"line":533,"context":268},1286,{"file":138,"line":535,"context":268},1287,{"file":138,"line":537,"context":268},1288,{"file":138,"line":539,"context":268},1295,{"file":138,"line":541,"context":268},1296,{"file":138,"line":543,"context":268},1297,{"file":138,"line":545,"context":268},1298,{"file":138,"line":547,"context":268},1307,{"file":138,"line":549,"context":268},1309,{"file":138,"line":551,"context":268},1312,{"file":138,"line":553,"context":268},1315,{"file":138,"line":555,"context":268},1318,{"file":138,"line":557,"context":268},1321,{"file":138,"line":559,"context":268},1324,{"file":138,"line":561,"context":268},1325,{"file":138,"line":563,"context":268},1326,{"file":138,"line":565,"context":268},1327,{"file":138,"line":567,"context":268},1328,{"file":138,"line":569,"context":268},1329,{"file":138,"line":571,"context":268},1331,{"file":138,"line":573,"context":268},1337,{"file":138,"line":575,"context":268},1338,{"file":138,"line":577,"context":268},1339,{"file":138,"line":579,"context":268},1341,{"file":138,"line":581,"context":268},1342,{"file":138,"line":583,"context":268},1343,{"file":138,"line":585,"context":268},1344,{"file":138,"line":587,"context":268},1345,{"file":138,"line":589,"context":268},1346,{"file":138,"line":591,"context":268},1348,{"file":138,"line":593,"context":268},1354,{"file":138,"line":595,"context":268},1355,{"file":138,"line":597,"context":268},1356,{"file":138,"line":599,"context":268},1358,{"file":138,"line":601,"context":268},1364,{"file":138,"line":603,"context":268},1366,{"file":138,"line":605,"context":268},1369,{"file":138,"line":607,"context":268},1372,{"file":138,"line":609,"context":268},1375,{"file":138,"line":611,"context":268},1378,{"file":138,"line":613,"context":268},1383,{"file":138,"line":615,"context":268},1384,{"file":138,"line":617,"context":268},1385,{"file":138,"line":619,"context":268},1386,{"file":138,"line":621,"context":268},1387,{"file":138,"line":623,"context":268},1389,{"file":138,"line":625,"context":268},1395,{"file":138,"line":627,"context":268},1396,{"file":138,"line":629,"context":268},1397,{"file":138,"line":631,"context":268},1398,{"file":138,"line":633,"context":268},1405,{"file":138,"line":635,"context":268},1406,{"file":138,"line":637,"context":268},1407,{"file":138,"line":639,"context":268},1408,{"file":138,"line":641,"context":268},1415,{"file":138,"line":643,"context":268},1416,{"file":138,"line":645,"context":268},1417,{"file":138,"line":647,"context":268},1424,{"file":138,"line":649,"context":268},1425,{"file":138,"line":651,"context":268},1426,{"file":138,"line":653,"context":268},1433,{"file":138,"line":655,"context":268},1434,{"file":138,"line":657,"context":268},1435,{"file":138,"line":659,"context":268},1443,{"file":138,"line":661,"context":268},1444,{"file":138,"line":663,"context":268},1445,{"file":138,"line":665,"context":268},1446,{"file":138,"line":667,"context":268},1447,{"file":138,"line":669,"context":268},1448,{"file":138,"line":671,"context":268},1449,{"file":138,"line":673,"context":268},1450,{"file":138,"line":675,"context":268},1459,{"file":138,"line":677,"context":268},1460,{"file":138,"line":679,"context":268},1461,{"file":138,"line":681,"context":268},1462,{"file":138,"line":683,"context":268},1463,{"file":138,"line":685,"context":268},1464,{"file":138,"line":687,"context":268},1465,{"file":138,"line":689,"context":268},1466,{"file":138,"line":691,"context":268},1474,{"file":138,"line":693,"context":268},1475,{"file":138,"line":695,"context":268},1476,{"file":138,"line":697,"context":268},1477,{"file":138,"line":699,"context":268},1478,{"file":138,"line":701,"context":268},1479,{"file":138,"line":703,"context":268},1480,{"file":138,"line":705,"context":268},1481,{"file":138,"line":707,"context":268},1533,{"file":138,"line":709,"context":268},1534,{"file":138,"line":711,"context":268},1535,{"file":138,"line":713,"context":268},1536,{"file":138,"line":715,"context":268},1537,{"file":138,"line":717,"context":268},1542,{"file":138,"line":719,"context":268},1558,{"file":138,"line":721,"context":268},1565,{"file":138,"line":723,"context":268},1572,{"file":138,"line":725,"context":268},1580,{"file":138,"line":727,"context":268},1588,{"file":138,"line":729,"context":268},1595,{"file":138,"line":731,"context":268},1602,{"file":138,"line":733,"context":268},1609,{"file":138,"line":735,"context":268},1616,{"file":138,"line":737,"context":268},1623,{"file":138,"line":737,"context":268},{"file":138,"line":740,"context":268},1625,{"file":138,"line":740,"context":268},{"file":138,"line":743,"context":268},1627,{"file":138,"line":743,"context":268},{"file":138,"line":746,"context":268},1629,{"file":138,"line":746,"context":268},{"file":138,"line":749,"context":268},1631,{"file":138,"line":749,"context":268},{"file":138,"line":752,"context":268},1633,{"file":138,"line":752,"context":268},{"file":138,"line":755,"context":268},1635,{"file":138,"line":757,"context":268},1693,{"file":138,"line":759,"context":268},1718,{"file":138,"line":761,"context":268},1750,{"file":138,"line":763,"context":268},1751,{"file":138,"line":765,"context":268},1757,{"file":138,"line":767,"context":268},1758,{"file":138,"line":769,"context":268},1759,{"file":138,"line":771,"context":268},1760,{"file":138,"line":773,"context":268},1761,{"file":138,"line":775,"context":268},1762,{"file":138,"line":777,"context":268},1771,{"file":138,"line":779,"context":268},1774,{"file":138,"line":781,"context":268},1777,{"file":138,"line":783,"context":268},1780,{"file":138,"line":785,"context":268},1783,{"file":138,"line":787,"context":268},1786,{"file":138,"line":789,"context":268},1797,{"file":138,"line":791,"context":268},1800,{"file":138,"line":793,"context":268},1809,{"file":795,"line":796,"context":268},"admin\\class-digital-toc-taxonomies-metaboxes.php",60,{"file":798,"line":799,"context":268},"admin\\compatibility_page.php",31,{"file":798,"line":801,"context":268},37,{"file":798,"line":803,"context":268},38,{"file":146,"line":805,"context":268},43,{"file":146,"line":807,"context":268},49,{"file":146,"line":809,"context":268},50,{"file":146,"line":811,"context":268},52,{"file":146,"line":163,"context":268},{"file":146,"line":814,"context":268},215,{"file":146,"line":816,"context":268},227,{"file":146,"line":818,"context":268},232,{"file":820,"line":821,"context":268},"admin\\generic_functions.php",122,{"file":820,"line":821,"context":268},{"file":820,"line":821,"context":268},{"file":820,"line":821,"context":268},{"file":820,"line":826,"context":268},123,{"file":820,"line":826,"context":268},{"file":820,"line":829,"context":268},129,{"file":820,"line":829,"context":268},{"file":820,"line":829,"context":268},{"file":820,"line":833,"context":268},132,{"file":820,"line":833,"context":268},{"file":820,"line":836,"context":268},136,{"file":820,"line":836,"context":268},{"file":153,"line":839,"context":268},139,{"file":159,"line":841,"context":268},124,{"file":177,"line":843,"context":268},155,{"file":177,"line":845,"context":268},158,[847],{"name":848,"version":26,"knownCves":849},"Select2",[],[851,877],{"entryPoint":852,"graph":853,"unsanitizedCount":11,"severity":876},"dtoc_import_options_ajax (admin\\misc.php:181)",{"nodes":854,"edges":873},[855,860,865,868],{"id":856,"type":857,"label":858,"file":153,"line":859},"n0","source","$_FILES",193,{"id":861,"type":862,"label":863,"file":153,"line":284,"wp_function":864},"n1","sink","file_get_contents() [SSRF\u002FLFI]","file_get_contents",{"id":866,"type":857,"label":867,"file":153,"line":859},"n2","$_FILES (x14)",{"id":869,"type":862,"label":870,"file":153,"line":871,"wp_function":872},"n3","update_option() [Settings Manipulation]",208,"update_option",[874,875],{"from":856,"to":861,"sanitized":223},{"from":866,"to":869,"sanitized":223},"low",{"entryPoint":878,"graph":879,"unsanitizedCount":11,"severity":876},"\u003Cmisc> (admin\\misc.php:0)",{"nodes":880,"edges":885},[881,882,883,884],{"id":856,"type":857,"label":858,"file":153,"line":859},{"id":861,"type":862,"label":863,"file":153,"line":284,"wp_function":864},{"id":866,"type":857,"label":867,"file":153,"line":859},{"id":869,"type":862,"label":870,"file":153,"line":871,"wp_function":872},[886,887],{"from":856,"to":861,"sanitized":223},{"from":866,"to":869,"sanitized":223},{"summary":889,"deductions":890},"The digital-table-of-contents plugin, version 1.0.6, presents a generally good security posture based on the provided static analysis and vulnerability history.  All identified entry points, including AJAX handlers and a shortcode, have appropriate nonce and capability checks, which is a strong indicator of secure development practices regarding authentication and authorization. The plugin also avoids dangerous functions and external HTTP requests, and all SQL queries are properly prepared, mitigating common web application vulnerabilities. The lack of any recorded CVEs further reinforces this positive outlook.\n\nHowever, a notable concern lies in the output escaping. With 45% of outputs not being properly escaped, there is a significant risk of Cross-Site Scripting (XSS) vulnerabilities. This means that user-supplied or dynamically generated content could be injected into the page in an unsanitized manner, potentially allowing attackers to execute malicious scripts in the context of a user's browser. While taint analysis did not reveal any direct unsanitized path flows, the high percentage of unescaped output is a critical area of weakness that requires immediate attention. The bundling of Select2, while common, could also represent a minor risk if not kept up-to-date, though no specific version information is provided to assess this.\n\nIn conclusion, the plugin demonstrates strengths in its handling of authentication, authorization, and database queries. The absence of historical vulnerabilities is a positive sign. The primary and most significant weakness is the insufficient output escaping, which creates a palpable risk of XSS. Addressing this output sanitization issue should be the top priority to improve the plugin's overall security.",[891,894],{"reason":892,"points":893},"Insufficient output escaping (45% unescaped)",8,{"reason":895,"points":30},"Bundled library (Select2)","2026-03-17T06:19:53.781Z",{"wat":898,"direct":907},{"assetPaths":899,"generatorPatterns":902,"scriptPaths":903,"versionParams":904},[900,901],"\u002Fwp-content\u002Fplugins\u002Fdigital-table-of-contents\u002Fassets\u002Fadmin\u002Fcss\u002Fdtoc-meta-box.css","\u002Fwp-content\u002Fplugins\u002Fdigital-table-of-contents\u002Fassets\u002Fadmin\u002Fjs\u002Fdtoc-meta-box.js",[],[901],[905,906],"digital-table-of-contents\u002Fassets\u002Fadmin\u002Fcss\u002Fdtoc-meta-box.css?ver=","digital-table-of-contents\u002Fassets\u002Fadmin\u002Fjs\u002Fdtoc-meta-box.js?ver=",{"cssClasses":908,"htmlComments":912,"htmlAttributes":913,"restEndpoints":916,"jsGlobals":917,"shortcodeOutput":918},[909,910,911],"dtoc-meta-tabs","dtoc-meta-tab-titles","dtoc-meta-tab-content",[],[914,915],"dtoc_metaboxes_nonce_action","dtoc_metaboxes_nonce",[],[],[]]